touch
システムコールを介して現在のディレクトリに新しい空のファイルを作成するボタンをファインダーに追加する短い迅速なコードを作成しました。拡張機能は現在のディレクトリを ( 経由でFIFinderSyncController.defaultController().targetedURL()
)正常に取得しますが、touch
サンドボックス化が原因でコマンドが失敗しました。書き込みアクセスの許可を求めるにはどうすればよいですか? 私のコードでは、ユーザーが選択したファイル オプションがトリガーされません。
3 に答える
こちら で説明されているように、一時的な例外資格を使用できるはずです。具体的には、次の 2 つの権利のいずれかで十分です。
com.apple.security.temporary-exception.files.home-relative-path.read-write
com.apple.security.temporary-exception.files.absolute-path.read-write
ドキュメントに記載されているように、アプリを App Store に提出する予定がある場合は、一時的な例外資格が必要な理由を提出する必要があります。(私はこの手順を経験したことがないので、このプロセスがどのようなものかわかりません)。
私の知る限り、これは Finder 同期拡張機能内では不可能です。ただし、回避策として、この機能をメイン アプリケーションに転送することができます。まず、機能を有効にするドライブをアプリのメイン ウィンドウにドラッグし、セキュリティ ブックマークを保存してから、Finder 拡張機能からメイン アプリにコマンドを送信するようユーザーに依頼します。
私の知る限り、これは不可能です。さらに、これは Finder 同期拡張機能の目的ではありません。Apple はここで次のように述べています。
Finder Sync 拡張ポイントが、提供する予定の機能に適していることを確認してください。最高の Finder Sync 拡張機能は、ローカル フォルダーの内容をリモート データ ソースと同期するアプリをサポートします。Finder Sync は、Finder のユーザー インターフェイスを変更するための一般的なツールとして意図されたものではありません。
意図したとおりに Finder を変更する場合は、次の操作を行う必要があります。
- 事実上アプリが拒否される原因となる一時的な例外資格を使用します。また
- アプローチを再考する
私は後者を提案します。Apple は、リリースごとに (良くも悪くも) システムを変更することをますます困難にしています。この機能が必要な場合は、それを要求するバグ レポートを提出してください。