'NSInternalInconsistencyException',原因:'无法 posix_spawn:错误 13' Swift
'NSInternalInconsistencyException', reason: 'Couldn't posix_spawn: error 13' Swift
我正在为 运行ning iOS 12 和 Swift.[= 越狱设备制作一个 iOS 应用程序20=]
最近我做了一个问题,我自己回答了一个问题,我在其中问了一个方法来。
但是如您所见,我还没有完成,因为我可以使用 NSTask,但它在 运行 运行应用程序时崩溃了。
基本上,我有一个 NSTask.h
file 允许我将 NSTask 与 Swift 一起使用。
因此,为了启动任务,我创建了以下函数:
func task(launchPath: String, arguments: String...) {
let task = NSTask.init()
task?.setLaunchPath(launchPath)
task?.arguments = arguments
// Create a Pipe and make the task
// put all the output there
let pipe = Pipe()
task?.standardOutput = pipe
// Launch the task
task?.launch()
task?.waitUntilExit()
}
并像这样调用函数:
task(launchPath: "/usr/bin", arguments: "git clone https://github.com/lz4/lz4.git")
问题是当我 运行 应用程序崩溃并打印以下错误时:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't posix_spawn: error 13'
我该如何解决这个错误?
提前致谢。
编辑:顺便说一句,我忘了说我使用桥接头.[=访问NSTask.h
文件20=]
启动路径必须是可执行文件的完整路径,而不是包含可执行文件的目录。此外,命令参数应作为单独的参数提供,而不是作为一个字符串提供。 (请注意,没有 shell 涉及在开始过程之前解析命令并分隔参数。)因此调用应该类似于
task(launchPath: "/usr/bin/git", arguments: "clone", "https://github.com/lz4/lz4.git")
我正在为 运行ning iOS 12 和 Swift.[= 越狱设备制作一个 iOS 应用程序20=]
最近我做了一个问题,我自己回答了一个问题,我在其中问了一个方法来
但是如您所见,我还没有完成,因为我可以使用 NSTask,但它在 运行 运行应用程序时崩溃了。
基本上,我有一个 NSTask.h
file 允许我将 NSTask 与 Swift 一起使用。
因此,为了启动任务,我创建了以下函数:
func task(launchPath: String, arguments: String...) {
let task = NSTask.init()
task?.setLaunchPath(launchPath)
task?.arguments = arguments
// Create a Pipe and make the task
// put all the output there
let pipe = Pipe()
task?.standardOutput = pipe
// Launch the task
task?.launch()
task?.waitUntilExit()
}
并像这样调用函数:
task(launchPath: "/usr/bin", arguments: "git clone https://github.com/lz4/lz4.git")
问题是当我 运行 应用程序崩溃并打印以下错误时:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't posix_spawn: error 13'
我该如何解决这个错误?
提前致谢。
编辑:顺便说一句,我忘了说我使用桥接头.[=访问NSTask.h
文件20=]
启动路径必须是可执行文件的完整路径,而不是包含可执行文件的目录。此外,命令参数应作为单独的参数提供,而不是作为一个字符串提供。 (请注意,没有 shell 涉及在开始过程之前解析命令并分隔参数。)因此调用应该类似于
task(launchPath: "/usr/bin/git", arguments: "clone", "https://github.com/lz4/lz4.git")