赞
踩
在MacOS下很多操作是需要管理员权限的, 比如我们运行chmod,在命令行下可以使用sudo chmod来申请以管理员权限运行。但是使用XCode写的程序是不能使用sudo的。
需要自己写代码来申请权限。下面是一个例子, 以管理员身份运行chmod 777
- bool ChmodFileWithElevatedPrivilegesFromLocation(NSString *location)
- {
- // Create authorization reference
- OSStatus status;
- AuthorizationRef authorizationRef;
-
- status = AuthorizationCreate(NULL, kAuthorizationEmptyEnvironment, kAuthorizationFlagDefaults, &authorizationRef);
- if (status != errAuthorizationSuccess)
- {
- NSLog(@"Error Creating Initial Authorization: %d", status);
- return NO;
- }
-
- AuthorizationItem right = {kAuthorizationRightExecute, 0, NULL, 0};
- AuthorizationRights rights = {1, &right};
- AuthorizationFlags flags = kAuthorizationFlagDefaults | kAuthorizationFlagInteractionAllowed |
- kAuthorizationFlagPreAuthorize | kAuthorizationFlagExtendRights;
-
- status = Authorization

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。