出于某种原因,即使在Apple Swift语言API库中明确指出Here,进程类也未注册为基础导入的一部分流程类是基础的一部分。
例如:
import Foundation
let task = Process()
抛出错误:
使用未解析的标识符进程
我尝试过使用NSTask,这是过去调用的Process类,但是也不起作用。
这就是我想要做的事情:
import Foundation
var str = "let str = \"Hello\"\nprintln(\"\\(str) world\")\n"
let task = Process()
task.launchPath = "/usr/bin/swift"
let outpipe = Pipe()
let inpipe = Pipe()
inpipe.fileHandleForWriting.write(str.data(using: String.Encoding.utf8, allowLossyConversion: true)!)
task.standardInput = inpipe
task.standardOutput = outpipe
task.launch()
task.waitUntilExit()
task.standardInput = Pipe()
let data = outpipe.fileHandleForReading.readDataToEndOfFile()
let output = NSString(data: data, encoding: String.Encoding.utf8.rawValue)! as String
从文本创建“str”常量。是的,我知道这是Apple禁止的,但它不适用于App Store上的应用程序。
所以基本上我需要知道在swift 3.0中NSTask被改变了什么
我使用的是最新版本的Xcode(8.1)和最新版本的Swift(3.0)。请帮忙!