OS X で実行中のアプリケーション バンドルをプログラムで取得する方法
OS X では、アクティブに実行中のアプリケーション バンドルの包括的なリストを取得すると、かなりの量の情報が表示されます。チャレンジ。 sysctl() と KERN_PROC_ALL を使用して実行できる実行中のプロセスのクエリとは異なり、対応するアプリケーション バンドルを明らかにすることは依然として困難です。これは、使用時間をログに記録したり、ペアレンタル コントロール機能を実装しようとするアプリケーションにとって、重大な障害となります。
実行可能なアプローチとしては、特定のプロセスをアイコンで指定し、アプリケーションの起源についての洞察を提供するアクティビティ モニターを利用することが考えられます。ただし、この動作をプログラムで複製するには、言語固有の作業が必要になります。
Swift および Cocoa API を使用したソリューション
Swift および Cocoa API の領域内で、ソリューションが登場しました。 :
<code class="swift">import Foundation import AppKit // Acquire all running applications let workspace = NSWorkspace.shared let applications = workspace.runningApplications for app in applications { print(app) }</code>
ここで、「app」オブジェクトは NSApplication インスタンスを表します。このオブジェクトを利用することで、アプリケーションのバンドル識別子、つまり必要な情報を簡単に取得できます。
以上がOS X で実行中のアプリケーション バンドルをプログラムで取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。