【发布时间】:2015-06-22 13:51:48
【问题描述】:
这是一个简单的 swift 脚本:
#!/usr/bin/env xcrun swift
import Foundation
let task = NSTask()
task.launchPath = "/bin/echo"
task.arguments = ["farg1", "arg2"]
let pipe = NSPipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output: String = NSString(data: data, encoding: NSUTF8StringEncoding)
print(output)
我将此脚本添加为 iOS 项目中的构建阶段(在“编译源阶段”之前),但 XCode 未能构建项目并出现错误“未定义的 NSTask()...” 当我在 OSX 项目中添加相同的脚本时,XCode 构建项目没有任何错误。
问题是为什么 XCode 在 iOS 框架内寻找 NSTask(不存在的地方)而不是作为平台脚本(如 bash)运行 swift 脚本?
只是补充一点:swift脚本不包含在项目中以及其他要编译的文件中。它只是添加到构建阶段,甚至在编译之前,其他源文件(它们是 Objective-C 文件)来运行它。
当脚本包含不属于 iOS 框架的类时,如何从 iOS XCode 项目运行自定义 swift 脚本?
【问题讨论】:
-
您能解释一下如何将此脚本添加到构建阶段吗?