問題タブ [nsrunningapplication]

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 に答える
2454 参照

macos - 別のユーザーから実行されているアプリケーションのバンドル識別子を取得します

シナリオは次のようなものです:「1 人のユーザーからアプリ ( myproc など) を実行し、ユーザーを 2 番目のユーザーにすばやく切り替えます」
ここで、特定のバンドル識別子 ( com.ak.myproc など)で実行されているすべてのプロセスを特定しようとすると; 最初のユーザーから実行されているプロセスについては、これを判断できません。

私は次のことを試しましたが、無駄でした:

  1. [NSRunningApplication runningApplicationsWithBundleIdentifier:]
  2. [[NSWorkspace sharedWorkspace] runningApplications]次に、各アプリケーションのバンドル ID を比較します。最初のユーザーに対して実行されているアプリは、このリストには表示されません。
  3. プロセス リストを使用しsysctl()て反復処理する - ここでは、最初のユーザーからのアプリの pid が取得されます。その後:
    • を試してみると[NSRunningApplication runningApplicationWithProcessIdentifier:]、ゼロになります。
    • を続けようとGetProcessForPID()するProcessInformationCopyDictionary()と、 nil 辞書が表示されます。
    • を続けようとGetProcessForPID()するとGetProcessInformation()、 で何も役に立ちませんProcessInfoRec

誰か助けてくれませんか?ありがとう。

OS: Mac OS X 10.8.4
Xcode: 4.6.2

0 投票する
0 に答える
171 参照

objective-c - activateWithOptions:NSApplicationActivateIgnoringOtherApps を呼び出している間、アプリをレスポンダーとして保持する

Alfred や Mavericks の Spotlight (フローティング パネル) によく似た、テキスト入力を受け取る vim スタイルの「ウィンドウ マネージャー」を作成しています。

私が抱えている問題は、 activateWithOptions を呼び出すときです。実行中のアプリケーションで、ウィンドウからフォーカスが奪われます。アプリを再びフォアグラウンドに戻すだけで問題が解決することを望んでいましたが、アクティベーションが別のスレッドで実行されているようで、元のアプリがアクティベートされる前にアプリをアクティベートしてしまいます。

NSWorkspaceDidActivateApplicationNotification を受け取ったときに再アクティブ化を試みましたが、それも機能しません。

理想的には、アプリケーションが複数の理由でフォーカスされるまで実行を一時停止したいと考えています。これは、さらに操作するウィンドウになるためです。

誰か提案はありますか?

0 投票する
0 に答える
189 参照

ios - アプリケーション実行時のエラー

iPhone とシミュレーターの両方でアプリケーションを実行しようとすると、この答えが得られます。

アーキテクチャ arm64 の未定義シンボル: "_OBJC_CLASS_$_AppDelegate"、参照元: main.o ld の objc-class-ref: アーキテクチャ arm64 のシンボルが見つかりません。clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (-v を使用)呼び出しを見るために)

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

xcode - Unkillable, bogus NSRunningApplication sitting in my Dock?

I'm using Xcode 5.1.1 on OSX 10.9.4 to debug a Cocoa + OpenGL application. So far I've only ever run my app under the Xcode debugger. Last week I exited Xcode only to find an icon for my app still sitting in the Dock. Using Show In Finder led me to a debug executable inside Xcode's DerivedData. I eventually power cycled to get rid of it (more on that) and all was well until today. But I now have two of these icons sitting in my Dock.

The problem: these apps cannot be killed! Force Quit does nothing. They don't show up in the process list using 'ps aux' or Activity Monitor. A Restart just gets stuck in a loop trying to get rid of them. Only forcibly power-cycling the Mac works.

According to NSWorkspace's runningApplication method there are NSRunningApplication instances associated with these apps. But the process id's don't correspond to actual processes. Nothing relevant in the Console logs.

Anyone else ever encounter this? Any suggestions for getting NSWorkspace to get rid of bogus NSRunningApplication instances?

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

objective-c - [NSWorkspace runningApplications] をフィルタリングして、ユーザー アプリケーションのみを含める (デーモン/UIAgent を含まない)

[NSWorkspace runningApplications]UIAgent キーの各アプリケーションの plist を手動でチェックする以外に、すべてのデーモンなどを非表示にするために指定されたアプリケーションのリストをフィルタリングする方法はありますか? アプリケーションが Dock に表示されない場合、私はそのアプリケーションに興味がありません。

0 投票する
0 に答える
151 参照

macos - ファインダーがセカンダリ ディスプレイの [NSRunningApplication activateWithOptions] に応答しない

Finderウィンドウを前面に表示しようとしています:

これは、プライマリの内蔵ディスプレイで機能します。しかし、私の外部ディスプレイでは、 を呼び出した後に Finder ウィンドウがフォーカスされません-activateWithOptions。それは期待される動作ですか?バグですか?