0
我需要保存在其上的应用程序创建的目录中的一些图片,这里是我所保存的代码创建目录,并设置完全权限目的C不能写入文件目录的权限问题
NSFileManager* manager = [NSFileManager defaultManager];
SnapDir = [AssetPath stringByAppendingPathComponent:@"ScreenCaptures"];
if (![manager fileExistsAtPath:AssetWatchSnapDir isDirectory:&isDirectory] || !isDirectory)
{
NSError *error = nil;
[manager createDirectoryAtPath:SnapDir
withIntermediateDirectories:NO
attributes:nil
error:&error];
if (error)
NSLog(@"Error creating directory snap path: %@", [error localizedDescription]);
else {
NSError *error1;
[manager setAttributes:@{ NSFilePosixPermissions : @0777 }
ofItemAtPath:SnapDir error:&error1];
}
}
[[NSUserDefaults standardUserDefaults] setObject:SnapDir forKey:@"AssetSnap"];
现在图像png格式一样,
SnapDir = [[NSUserDefaults standardUserDefaults] objectForKey:@"AssetSnap"];
NSString* filepath = [SnapDir stringByAppendingPathComponent:filename];
NSError *error;
bool success = [pngRep writeToFile:filepath options:0 error:&error];
if (!success) {
NSLog(@"writeToFile failed with error %@", error);
}
能正常工作时,如果将图像保存发生在目录中创建的应用程序运行的同一个实例。这是我在应用程序中打开应用程序,创建目录,然后保存。
凡当关闭应用程序并再次打开它,并尝试保存图像(使用存储在NSUserDefaults
目的地路径),它提供了关于权限问题下面的错误。
Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “2016_08_19_06_32_00.png” in the folder “ScreenCaptures”." UserInfo={NSFilePath=/Users/development/Documents/d/ScreenCaptures/
其实SnapDir是'NSString'类型,我找不到它的'path'或'relativePath'。 – Haris
你可以粘贴SnapDir的价值? –
是的,它在错误消息'/用户/开发/文档/ d/ScreenCaptures /' – Haris