swift – 命令行“无法访问启动路径”

我最近发现我可以创建 Swift命令行脚本.

我决定看看我是否可以使用它来构建我的Xamarin项目.

不幸的是我收到以下错误,我不知道如何解决它.

*** Terminating app due to uncaught exception ‘NSinvalidargumentexception’,reason: ‘launch path not accessible’

这是我的脚本:

#!/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)
}

有什么想法吗?

我认为问题是你实际上想要执行shell并让它执行mdtool,而不是直接执行mdtool

尝试传递“/ bin / bash”作为启动路径,然后包含mdtool的路径作为参数字符串的一部分.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...