我正在编写简单的swift命令行工具应用程序,它可以自动完成我的一些iOS开发工作。一切都在工作,除了一件事 - 调用xcodebuild脚本。
我的方法如下:
func runTest(deviceName: String, os: String) {
killAllSimulators()
let sdk = "iphonesimulator"
let destination = "platform=iOS Simulator,name=" + deviceName + ",OS=" + os
let arguments = ["-workspace", workspace, "-scheme", scheme, "-sdk", sdk, "-destination", destination, "test"]
executor.executeCommand("xcodebuild", arguments: arguments)
}
deviceName等于" iPhone 4s",os等于" 9.0",工作空间和方案变量已正确设置。
我的执行命令具有简单的实现:
func executeCommand(command: String, arguments: [String]) -> NSString? {
_ = NSProcessInfo.processInfo().processIdentifier
let pipe = NSPipe()
let fileHandle = pipe.fileHandleForReading
let task = NSTask()
task.launchPath = "/usr/bin/" + command
task.arguments = arguments
task.standardOutput = pipe
task.launch()
let data = fileHandle.readDataToEndOfFile()
fileHandle.closeFile()
return NSString(data: data, encoding: NSUTF8StringEncoding)
}
我收到测试失败的错误,因为cdtool无法编译。这非常奇怪,因为从终端调用的脚本完全相同..
有什么想法吗?