絶対パスを使用する必要はありません。次のようなものを使用してください
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
[[NSFileManager defaultManager] copyItemAtPath:[[NSBundle mainBundle]pathForResource:@"test" ofType:@"txt"] toPath:[documentsDirectory stringByAppendingPathComponent:@"test.txt"] error:nil];
test.txt
これは、ファイルをアプリ バンドルからドキュメント ディレクトリにコピーする方法を示しています。このようなことをしてファイルを作成しますtest.txt
[[NSFileManager defaultManager] createFileAtPath:[documentsDirectory stringByAppendingPathComponent:@"test.txt"] contents:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://a-cstudios.com/text.json"]] attributes:nil];
編集
これを使用していて、ジェイルブレイクされたデバイスで使用したい場合、サンドボックスに何かを配置することは、前に述べたのと同じであるため、UUID を使用する必要はありません。システムディレクトリに何かを入れたい場合は、 のようなものを使用するか/usr/include/
、必要な場所に置きます。別のアプリ サンドボックスに何かを配置するには、完全なパスを使用する必要があり、サンドボックスの一部ではない UUID を知っている必要があります。したがって、作成したアプリにファイルをコピーする場合を除き、完全なパスを使用する必要があります。