我最近发现我可以创建Swift命令行脚本.
我决定看看我是否可以使用它来构建我的Xamarin项目.
不幸的是我收到以下错误,我不知道如何解决它.
***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'启动路径无法访问'
这是我的脚本:
#!/usr/bin/env swift
import Foundation
print("Building Script")
let fileManager = NSFileManager.defaultManager()
let path = fileManager.currentDirectoryPath
func shell(launchPath: String, arguments: [String] = []) -> NSString? {
let task = NSTask()
task.launchPath = launchPath
task.arguments = arguments
let pipe = NSPipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output = NSString(data: data, encoding: NSUTF8StringEncoding)
return output
}
if let output = shell("/Applications/Xamarin\\ Studio.app/Contents/MacOS/mdtool", arguments: ["-v build", "\"--configuration:Beta|iPhone\"", "MyApp.iOS.sln"]) {
print(output)
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
使用Swift 3.
我在网上找到很多奇怪的解决方案,用于检查Decimal对象是否是整数.一切都感觉要复杂得多.
这是我的解决方案:
extension Decimal {
var isWholeNumber: Bool {
return self.exponent == 1
}
}
Run Code Online (Sandbox Code Playgroud)
在我的测试中这是有效的.我的问题是我错过了一些明显的东西吗?