ホームページ >バックエンド開発 >Golang >OS X で実行中のアプリケーション バンドルをプログラムで取得する方法

OS X で実行中のアプリケーション バンドルをプログラムで取得する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 21:02:29601ブラウズ

How to Programmatically Retrieve Running Application Bundles in OS X?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。