Objective c 目标-C、NSFileManager和授权?
我有一个应用程序需要复制、删除、修改库/应用程序支持目录中的文件,并将Objective c 目标-C、NSFileManager和授权?,objective-c,authorization,nsfilemanager,Objective C,Authorization,Nsfilemanager,我有一个应用程序需要复制、删除、修改库/应用程序支持目录中的文件,并将writeToFile:atomically写入这些文件。问题是,我必须获得此类活动的授权,而且似乎没有任何直接的方法来实现这一点。我读过很多书,也尝试过;不幸的是,它们似乎都是使用特权助手工具来处理问题,往往与使用NSTask的命令行函数更为相关,或者它们根本不起作用。下面是我想做的一个快速示例: NSFileManager *fileManager = [[NSFileManager alloc] init]; if (
writeToFile:atomically
写入这些文件。问题是,我必须获得此类活动的授权,而且似乎没有任何直接的方法来实现这一点。我读过很多书,也尝试过;不幸的是,它们似乎都是使用特权助手工具来处理问题,往往与使用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];
这是我想做的非常简单的事情,为什么仅仅访问某些目录中的数据就显得如此困难呢?如果有人能提供这样做的示例或适用方法,我们将不胜感激-谢谢。Unix安全模型的一部分是,进程不能获得比创建时更多的特权。因此,授权特权操作需要以特权启动新进程,而不是简单地获取当前进程的特权
更新:苹果公司推荐的技术使用了
smjobbles()
,并通过以下示例代码演示:Unix安全模型的一部分是进程不能获得比创建时更多的特权。因此,授权特权操作需要以特权启动新进程,而不是简单地获取当前进程的特权
更新:苹果推荐的技术使用了
smjobbles()
,并通过以下示例代码演示: