小编iGo*_*iGo的帖子

获得将文件写入mac应用程序中的\ Library\ColorSync\Profiles \的权限

从我的mac应用程序,我需要将文件写入\ Library\ColorSync\Profiles.为此,应用程序需要管理员权限才能读取对该文件夹的写入权限.可以在应用程序中获得相同的内容吗?任何帮助将不胜感激.

我可以使用以下代码段弹出权限对话框

 NSSavePanel *tvarNSSavePanelObj    = [NSSavePanel savePanel];
[tvarNSSavePanelObj setDirectoryURL:[NSURL URLWithString:@"/Library/ColorSync/Profiles"]];

__block NSString *filePathexn  = nil;

[tvarNSSavePanelObj beginSheetModalForWindow:[NSApplication sharedApplication].mainWindow completionHandler:^(NSInteger tvarInt) {
    if(tvarInt == NSModalResponseOK){
        NSURL* tvarUrl = [tvarNSSavePanelObj URL];
        NSLog(@"doSaveAs filename = %@",[tvarUrl path]);
        NSString *filePath = [tvarUrl path];
        filePathexn = [filePath stringByAppendingPathExtension:@"rtf"];
        OSStatus status;
        if(![[NSFileManager defaultManager]isWritableFileAtPath:filePath]){
            NSLog(@"Not Writable at path");
            AuthorizationRef authRef;
            AuthorizationItem right = {kAuthorizationRightExecute, 0, NULL, 0};
            AuthorizationRights rights = {1, &right};
            status = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagPreAuthorize, &authRef);
            AuthorizationFlags authFlags = kAuthorizationFlagDefaults | kAuthorizationFlagExtendRights | kAuthorizationFlagInteractionAllowed …
Run Code Online (Sandbox Code Playgroud)

macos file-permissions objective-c

9
推荐指数
1
解决办法
1087
查看次数

标签 统计

file-permissions ×1

macos ×1

objective-c ×1