通常、アプリケーションにサンドボックス資格が存在するかどうかは、codesignコマンド ライン呼び出しで確認できます。たとえば、これを呼び出す
codesign --display --entitlements :- /Applications/Notes.app/ | grep sandbox
この出力が得られます
Executable=/Applications/Notes.app/Contents/MacOS/Notes
<key>com.apple.security.app-sandbox</key>
キー com.apple.security.app-sandbox は、アプリがサンドボックスで実行されることを示します。
Mavericks では、一部の XPC ヘルパー アプリがサンドボックスで実行されていることがアクティビティ モニターに表示されますが、それらに対して codesign を呼び出しても何も明らかになりません。Safari の XPC ヘルパー アプリケーションの 1 つの例: -
codesign -display --entitlements :- /System/Library/PrivateFrameworks/WebKit2.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent | grep sandbox
これを返すだけです: -
Executable=/System/Library/PrivateFrameworks/WebKit2.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent
また、この記事で説明されているコードを使用して、バンドルがサンドボックス化されているかどうかをプログラムでチェックしようとしましたが、アクティビティ モニターにはサンドボックス化されていることが明確に示されていても、やはりサンドボックス化されていないと返されます。
そのような xpc バンドルをチェックして、サンドボックスで実行され、サンドボックスの資格を使用するかどうかを確認することはできますか?