我正在尝试安装软件。我尝试运行一个调用
的脚本installer -pkg /path/to/software.pkg -target /
当我尝试通过Objective-c代码调用脚本时,如
NSTask *task;
task = [[NSTask alloc] init];
[task setLaunchPath:@"/path/to/script"];
[task launch]
当我尝试使用system()命令(如
)执行相同操作时,安装失败NSString* run_Command = @"/path/to/script"
system([run_Command UTF8String])
应用程序安装完成后,在检查install.log后查看第一个失败的原因,我找到了这一行
./ postinstall:LSOpenURLsWithRole()失败,文件/Applications/Software.app错误-10810
PackageKit:安装失败:错误域= PKInstallErrorDomain代码= 112"从软件包“software.pkg”运行脚本时发生错误
我是以错误的方式使用NSTask
还是更改任何设置或环境变量使NSTask
有效?
当我查看LSOpenURLsWithRole()
失败并出现错误-10810时,我只能发现这是一个权限错误问题,-chmod会解决问题。