サンドボックス化されたアプリケーションでセルフ コンパイルされたバイナリを使用しています。ユーザーの要求に応じて、コマンドを実行します。ボリューム上にファイルを作成しようとすると、許可が拒否されて失敗します。
アプリはサンドボックス化され、file:/// のセキュリティ スコープ ブックマークが作成されて有効になります。端末から実行するとコマンドが機能するため、sudo は必要ありません。
let task = Process()
task.launchPath = Bundle.main.url(forResource: "f3write", withExtension: nil)
task.arguments = ["/Volume/SDCard"]
task.launch()
コマンド出力をパイプしています:
Free space: 28.64 GB
Creating file 1.h2w ...
f3write: Can't create file /Volumes/SDCard/1.h2w: Operation not permitted