macOS で実行中のアプリケーション バンドルを取得する
macOS でアクティブなアプリケーションのリストを決定するには、システム レベルの API を利用します。必要な詳細レベルと実装言語に応じて、さまざまなアプローチが利用できます。
1 つの方法では、KERN_PROC_ALL 引数を指定して sysctl() 関数を使用します。これにより、実行中のすべてのプロセスのリストが生成されますが、対応するアプリケーション バンドルに関する情報は提供されません。たとえば、Minecraft は単純に「java」というラベルが付けられますが、これは特に役に立ちません。
より正確なアプローチでは、Swift の Cocoa API を利用します。実行中のアプリケーションについて NSWorkspace オブジェクトをクエリすることにより、各アプリケーションを表す NSApplication インスタンスにアクセスできます。各 NSApplication オブジェクトには、必要な情報を提供するバンドル識別子が含まれています。
<code class="swift">import Foundation import AppKit // Get all running applications let workspace = NSWorkspace.shared let applications = workspace.runningApplications for app in applications { print(app) }</code>
このアプローチでは、アプリケーション バンドル識別子が直接提供され、実行中の各アプリケーションに関する特定の情報を取得できます。
以上がmacOS で実行中のアプリケーション バンドルを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。