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

macOS で実行中のアプリケーション バンドルを取得する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-01 07:49:30226ブラウズ

How to Retrieve Running Application Bundles in macOS?

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

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