アプリにどのような資格があるかを調べるにはどうすればよいですか?


28

サンドボックスアプリは、資格を宣言する必要があります。もちろん、それが宣言する資格を伝えることができない場合、私は何の役にも立ちません。Core Location、Network Server、およびAddress Bookの資格を持つテキストエディターは、知らないうちに、サンドボックス化されていないアプリよりもはるかに悪い可能性があります。

アプリにどのような資格があるかを確認するにはどうすればよいですか?

回答:


35

さらに検索した結果、コマンドラインの答えが見つかりました。

codesign -d --entitlements :- /Applications/Whatever.app/

これにより、次のような値を持つXML plistが出力されます。

<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>

詳細については、https://developer.apple.com/library/archive/qa/qa1798/_index.html#//apple_ref/doc/uid/DTS40014167-CH1-IOS_STEPSを参照してください。

しかし、誰かがもっと簡単な方法を知っているなら、私はそれを聞きたいです。


1
それに関するその他のドキュメント:developer.apple.com/library/content/documentation/Security/…–

Mojave 10.14.4では、上記のコマンドはstart:fade7171000000fbに余分な8バイトを出力し、XMLを無効にします。それを回避するか、それを取り除く方法はありますか?
luckman212

codesign -d --entitlements - <filepath> 2>&1 | LANG=C LC_CTYPE=C sed 's/^.*\<\?xml/\<\?xml/g' | grep "<.*>" 別の解決策があるかもしれませんが、それがそれらのバイトを取り除く方法です。しかし、私はそれが必要だとは思いません:あなたはcodesignエンタイトルメントxmlを指すことでアプリを作ることができ、macOSはとにかくそれらのバイトを無視します。
JayB

それらのバイトを省略するコロンを追加しますcodesign -d --entitlements :- /Applications/Whatever.app/
artyom.stv
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.