NSTask "启动路径不可访问"



我的应用程序需要一个dylib文件位于/usr/lib/中。如果不存在,则应用程序将dylib从应用程序资源目录复制到/usr/lib/。为此,我使用了一个助手工具,它调用/usr/bin/sudo。

尽管这个应用程序在许多系统上都能正常工作,但我刚刚收到一份错误报告,其中应用程序显然找不到帮助工具的启动路径。

有人知道为什么这在很多系统上都有效,但只在一个系统上失效吗?

代码:

if (!libraryExists) {
    NSLog(@"dylib does not exist at usr/lib. Launching helper tool to duplicate dylib in application directoryn");         
    NSArray *args = [NSArray arrayWithObjects:helperToolPath, @"setup", nil];
    [NSTask launchedTaskWithLaunchPath:helperToolPath arguments:args];  
}

日志:

2012-01-11 09:53:59.008应用程序[1860:b07]助手工具的路径设置为:/Users/xx/Downloads/Application.app/Contents/Resources/HelperTool

2012-01-11 09:54:00.585应用程序[1860:b07]dylib在usr/lib中不存在。启动助手工具以从应用程序目录复制dylib

2012-01-11 09:54:00.587应用程序[1860:b07]启动路径不可访问

如果用户不在管理组中,他们可能没有权限运行您的助手应用程序。你可以在没有管理员权限的情况下创建一个新的用户帐户来测试这一理论。

最新更新