[iOS]何故かファイルやフォルダの移動が権限のエラーになる

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Data"];
NSString *src = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Caches"];
[fileManager copyItemAtPath:src toPath:path error:&error];

iOS で一時フォルダから、データライブラリフォルダへのフォルダのコピーを行おうと思ったらなぜか
513 (NSFileWriteNoPermissionError) になってしまう現象が出て困ったよ!
(いちおうフォルダは作成済みとする)

iPhone - copying a file from resources to Documents gives an error - Stack Overflow
調べてみたら同じ様な人が居た。

NSData *mainBundleFile = [NSData dataWithContentsOfFile:mainBundleFilePath];
[[NSFileManager defaultManager] createFileAtPath:destPath
contents:mainBundleFile
attributes:nil];

一旦NSData にデータ書き出して、ファイルを作る方法が紹介されていた。
試してみたら、この方法だと確かにうまくいく。
フォルダの削除自体はできるんだけどね

moveItemAtPath を利用する場合は、この方法でファイルを全部転送した後でremoveItemAtPath を適用すれば OKだった

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です