NSTask和iOS Swift 2.0

时间:2015-12-02 21:52:38

标签: ios jailbreak nstask

基本上我有一个视图控制器作为设置页面。单元格调用“killall backboardd”函数重新启动跳板。

然而,自从从objective-c重写我的应用程序以使用swift后,我发现我遇到了一些错误。

第一个是不推荐使用system()命令。好。因此建议使用posix_spawn API代替。好的,对此没有任何了解,没有真正需要研究。所以我决定只使用NSTask。我在旧版本中使用它很多,为什么不用这个呢?

我将运行时标头添加​​到Foundation.framework文件夹中。清理项目,重新启动xcode只发现我有警告。 “使用未解析的标识符'NSTask'

我有导入基金会这么错误吗?以下是我正在使用的内容:

        let task = NSTask() <----ERROR
        task.launchPath = "/usr/bin"
        task.arguments = ["killall backboardd"]

        let pipe = NSPipe()
        task.standardOutput = pipe
        task.launch()

        let data = pipe.fileHandleForReading.readDataToEndOfFile()
        if let output = NSString(data: data, encoding: NSUTF8StringEncoding) {
            print(output)
        }

        task.waitUntilExit()
        let status = task.terminationStatus
        print(status)

看起来文件似乎甚至连接了过去的情况。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

AFAIK。 NSTask在iOS SDK中不存在。 也许试试objc_getClass(&#34; NSTask&#34;);绕过编译检查。