読み取り専用ですが、その中にファイルがあるフォルダを別の場所にコピーしようとしています。 -copyItemAtPathを使用すると:toPath:error:フォルダをコピーしますが、ファイルはコピーしません。エラーを示すサンプルコードは以下のとおりです。
この場合、コピーする前にフォルダのアクセス許可を変更するオプションはありません。
誰でも提案を提供できますか?NSFileManager -copyItemAtPath:toPath:エラー:読み取り専用フォルダでエラーが発生します。
エラーは次のとおりです。
エラードメイン= NSPOSIXErrorDomainコード= 13のUserInfo = 0x1001102a0エラーのUSERINFOがある
"操作を完了できませんでしたパーミッションが拒否されました":{
NSDestinationFilePath =「/ユーザ/ xxxxxxx/Desktop/readonlyfilecopy/testdir/Abbey Road.jpg ";
NSFilePath = "/ Users/xxxxxxx/Desktop/testdir/Abbey Road.jpg";
NSUserStringVariant =コピー;
}
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString* src = @"/Users/xxxxxxx/Desktop/testdir";
NSString* target = @"/Users/xxxxxxx/Desktop/readonlyfilecopy/testdir";
NSError* error = nil;
[[NSFileManager defaultManager] copyItemAtPath:src toPath:target error:&error];
if (error) {
NSLog(@"%@", error);
NSLog(@"%@", [error userInfo]);
}
[pool drain];
return 0;
}
読み取り専用と言うと、r-xまたはr--許可を意味しますか? – JWWalker
Finder入手情報には「読み取り専用」、ls -lにはr-xr-xr-xが表示されます。いくつかのファイルを新しいフォルダにコピーし、情報を取得し、すべての権限を読み取り専用に設定して、フォルダを作成しました。 – Mel