1

writeToFile:atomicallyLibrary/Application Support ディレクトリ内のファイルとそれらのファイルをコピー、削除、変更などする必要があるアプリケーションがあります。これに関する問題は、そのようなイベントの承認が必要であり、これを達成する簡単な方法がないように思われることです。多くの質問回答を読み、コード サンプルを試しました。残念ながら、それらはすべて特権ヘルパー ツールの使用に対処しているように見えたり、NSTask を使用したコマンド ライン機能に関連している傾向があったり、機能していなかったりします。これが私がやりたいことの簡単な例です:

NSFileManager *fileManager = [[NSFileManager alloc] init];

if ([fileManager fileExistsAtPath:sourceFile]) {

  NSError *error = nil;
  if (![fileManager copyItemAtPath:sourceFile
                            toPath:destFile
                             error:&error]) {
    // Deal with error
  }
}

[fileManager release];

やりたいことは本当に単純なことなのに、特定のディレクトリのデータにアクセスするだけで、なぜそんなに難しいように見えるのでしょうか? 誰かがこれを行うための例または適切な方法を提供できれば、非常に高く評価されます — ありがとう.

4

1 に答える 1

1

Unix セキュリティ モデルの一部は、プロセスが作成されたときよりも多くの権限を取得できないことです。したがって、特権操作を許可するには、現在のプロセスの特権を単に取得するのではなく、特権を使用して新しいプロセスを起動する必要があります。


更新: Apple が推奨する手法は、次のSMJobBless()サンプル コードを使用して実証されています: https://developer.apple.com/library/mac/#samplecode/SMJobBless/Introduction/Intro.html

于 2012-06-17T00:30:20.370 に答える