objective-c - AuthorizationExecuteWithPrivileges 已弃用

标签 objective-c xcode macos

自更新到 OSX 10.7 Lion 后,Xcode 告诉我 AuthorizationExecuteWithPrivileges 已弃用。

任何人都可以建议我的应用程序可以写入它没有权限的目录的方法吗?

最佳答案

我知道这听起来很疯狂,但这确实有效:

NSDictionary *error = [NSDictionary new]; 
NSString *script =  @"do shell script \"whoami > /tmp/me\" with administrator privileges";  
NSAppleScript *appleScript = [[NSAppleScript alloc] initWithSource:script]; 
if ([appleScript executeAndReturnError:&error]) {
  NSLog(@"success!"); 
} else {
  NSLog(@"failure!"); 
}

我正在从 Objective C 执行一个 Applescript。唯一的缺点是你不能用它获得永久的 root 权限。每次运行时它都会询问密码。

关于objective-c - AuthorizationExecuteWithPrivileges 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33427751/

相关文章:

iOS 应用程序在发布时崩溃但不调试

java - 是否有可能从 java 获得 os x 中连接显示器的最大支持分辨率?

iphone - 如何使用 TouchXML 或其他替代方案解析 HTML

objective-c - 双重类型转换问题

objective-c - Twitter API 的签名是如何真正起作用的?

iphone - 为小型固定大小的 UITableView 禁用单元格重用

ios - swift performSegueWithIdentifier 不工作

ios - 我们能否以编程方式一次更改多个 UILabel 的字体(通过最少的代码行)?

objective-c - 难道我不允许覆盖 -sendEvent : in my NSApplication subclass?

c++ - 如何在批处理模式下工作