問題タブ [nsworkspace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
919 参照

cocoa - NSWorkspaceのopenURLが複数のURLに対して開かないのはなぜですか?

'lyricLink'プロパティの値に基づいてURLベースを開くことになっているメニュー項目に対するアクションがあります。これは最初に機能します(その後、「lyricLink」の値が同じである場合はすべて)。ただし、「lyricLink」の値が変更され、アクションが再度呼び出された場合、新しいリンクは開かれません。何か案は?

0 投票する
1 に答える
2699 参照

disk - cocoa すでにマウントされているマウントできないディスクを取得する方法

NSWorkspaceDidMountNotificationは、マウントされたばかりのディスクの情報を取得するのに適しています。しかし、アプリを開始する前に、既にマウントされているディスクの情報を取得するにはどうすればよいですか?

コマンド ライン: 「diskutil list」および「diskutil info /」は機能しますが、プログラムによる簡単な方法が必要です。

「DiskArbitration」または「VolumeToBSDNode example」の検索結果が機能せず、IOkit が困難です。

ところで、これを使用することを推奨する人はいますか? [NSWorkspace getFileSystemInfoForPath:isRemovable:isWritable:isUnmountable:description:type:]

0 投票する
1 に答える
488 参照

macos - NSWorkspaceWillPowerOffNotification が再起動またはシャットダウンによって発生したかどうかを確認する方法は?

Cocoa アプリを開発していますが、アプリを閉じる前にさまざまなアクションを実行する必要があります。再起動によっていつアプリが閉じられたのか、シャットダウンによっていつ閉じられたのかを知る必要があります。

アプリを介しNSWorkspaceWillPowerOffNotificationて、それが再起動またはシャットダウンであるという事実に関係なく、通知を受け取ります。

電源オフの原因を特定する方法はありますか?

0 投票する
1 に答える
390 参照

objective-c - Launch Daemon での Appkit Framework の使用

NSWorkspace を使用して、アプリケーションが起動または終了しているかどうかを確認したい。

しかし、プロセスは Launch Daemon であり、Apple のドキュメントによるとスレッドセーフではありません。

ただし、Workspace を使用するコードの一部は、起動時またはログイン時に実行されません。BSD通信経由で他のアプリから何らかのコマンドを受信した後に実行され、処理はUIなしのバックグラウンド処理ですか?

この状況で Appkit フレームワークを使用しても安全ですか? NSWorkspace API だけで他にはありませんか? 代替ソリューションはポーリングですか? あなたの提案は何ですか?

0 投票する
1 に答える
112 参照

objective-c - ポーリングなしでプロセスのライフタイムを観察するのは非常に遅いですか?

私は、任意のプロセスを観察するためにポーリングなしでプロセスのライフタイムを観察するためにアップルによって説明された手法を使用していました。

そこに記載されている正確なソース コードと、3 つの手法すべてを使用しました。しかし、応答が非常に遅く、場合によっては機能しないことさえあります。

ドキュメントに欠けているものはありますか?

0 投票する
1 に答える
542 参照

objective-c - ファイル リソース フォークを Finder でコピーできないようにする方法はありますか?

リソースフォークをコピー不可にする方法はありますか? 特に、NSWorkspace を介して特定のディレクトリに含まれるファイルにカスタム バッジ アイコンを設定して– setIcon:forFile:options:いますが、ファイルがフォルダの外にコピーされるとすぐにそれらのバッジが失われるようにしたいと考えています。

0 投票する
1 に答える
892 参照

macos - KVOを使用して、アプリケーションがアクティブになるタイミングを検出するにはどうすればよいですか?

私はCocoaアプリケーションに次のコードを持っています:

私の意図は、KVOを使用して、アプリケーションの状態が非アクティブからアクティブに変化したときにアプリケーションを検出することです。

インスタンスメソッドを使用する必要があることを読みました-addObserver:forKeyPath:options:context:

次に、を使用-observeValueForKeyPath:ofObject:change:context:して変更通知に応答します。

-observeValueForKeyPathこれは、関心のあるプロパティの変更に応答するコードを記述できるコールバックメソッドであることを理解しています。

activeそれでも、変更のプロパティが通知されるようにするには、addObserverメソッドをどのように使用する必要があるのか​​混乱していrunningApplicationsます。今、私は登録を行う場所がどこにあるのか疑問に思っています。今のところ私は使用して-applicationDidFinishLaunchingいますが、それを行うのに適切な場所かどうかはわかりません。さらに、-observeValueForKeyPathコールバックメソッドを使用する場合NSObject、通知を登録しているのと同じクラスから継承するクラスにそれを実装する必要がありますか?

0 投票する
1 に答える
375 参照

objective-c - 変更したカスタムアイコンをFinderのアイコンビュー(IKImageBrowserView)に再表示します

ファイルとディレクトリのカスタムアイコンを設定するためにNSWorkspacesetIcon:forFile:options:クラスのメソッドを使用しています。私の問題は、Finderが再起動するまでアイコンビューにアイコンの変更を反映していないことです。

アイコンビュー:
ここに画像の説明を入力してください

ここに画像の説明を入力してください

リストビュー(アウトラインビュー):
ここに画像の説明を入力してください

0 投票する
2 に答える
3687 参照

cocoa - -[NSWorkspace openFile:withApplication:] アプリケーションを開くのを待つ

私の Obj-C アプリでは、次のコードを使用して Pages (またはその他のアプリケーション) でファイルを開きます。

主に大きなファイルを開く場合、完了するまでに数秒かかる場合があります。したがって、アプリケーションがファイルを完全に開くまでページを待機させたいと思います。

次のコードは、私がやりたい方法です。

もちろん、単純に sleep() 関数を使用することもできますが、これは小さなファイルでアプリの速度を低下させ、ファイルが例外よりも大きい場合には機能しません。

私はすでに NSApplication で何かを試しましたが、Pages でのファイルのオープンは尊重されず、ターゲット アプリケーションの開始のみを監視できます。

何か案は?