私たちは長い間 IDE に取り組んできましたが、これには com.apple.security.app-sandbox モードがあります。ユーザーは、必要な SDK をインターネットから (すぐに) ダウンロードして、IDE で開発に使用できます。これらの SDK ファイルを使用する前に、ファイルに検疫属性 (com.apple.quarantine) があることに何度も気付きました。このようなファイルは、El Capitan のサンドボックス アプリ内での使用が禁止されていました。これは、制限ポリシーがより厳格であるためです。このようなブロッカーを克服するために、IDE 内でこれらの SDK ファイルを使用する前に、bash スクリプトを実行することにしました。
#!/bin/bash
SDKPATH=$1
xattr -d -r com.apple.quarantine "$1"
これをスムーズに実行するために、アプリに次の権限を追加しました。
<key>com.apple.security.scripting-targets</key>
<dict>
<key>com.apple.Terminal</key>
<array/>
</dict>
インストールされたアプリから、これは El Cap では機能しませんでした。最後に、この特定の資格を使用すると、bash スクリプトが適切に機能するだけであることがわかりました。
<key>com.apple.security.temporary-exception.apple-events</key>
<array>
<key>com.apple.terminal</key>
</array>
残念ながら、Apple のレビュー チームは、上記の資格に使用許可を与えることをかなり制限していました。
「xattr」コマンドを実行し、アプリから拡張属性を削除できる既知の方法または権限の使用は他にありますか?