NSTask/NSAppleScript执行pod反馈env: ruby_executable_hooks: No such file or directory

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSTask/NSAppleScript执行pod反馈env: ruby_executable_hooks: No such file or directory相关的知识,希望对你有一定的参考价值。

参考技术A Xcode通过NSTask 或 NSAppleScript执行pod指令,反馈错误信息
env: ruby_executable_hooks: No such file or directory

cocoapods安装位置出错以及rvm配置异常

Swift NStask 函数

【中文标题】Swift NStask 函数【英文标题】:Swift NStask function 【发布时间】:2016-04-21 20:22:00 【问题描述】:

我是个十足的菜鸟。在 xcode 中使用这段代码,我得到了我需要的结果。我创建了一个带有多个参数的命令行二进制“菜单栏”。我通常在终端“/bin/menubar getip”、“/bin/menubar/getuser”中运行它。我想根据以下工作代码创建一个函数。

import Cocoa
import Foundation

var task:NSTask = NSTask()
var pipe:NSPipe = NSPipe()

task.launchPath = "/bin/menubar"
task.arguments = ["getip"]
task.standardOutput = pipe
task.launch()

var handle = pipe.fileHandleForReading
var data = handle.readDataToEndOfFile()
var result_s = NSString(data: data, encoding: NSUTF8StringEncoding)
print(result_s)

我想把它转换成一个函数。

func commmand (argument: String) -> String


let task:NSTask = NSTask()
let pipe:NSPipe = NSPipe()

task.launchPath = "/bin/menubar"
task.arguments = ["argument"]
task.standardOutput = pipe
task.launch()

let handle = pipe.fileHandleForReading
let data = handle.readDataToEndOfFile()
let result_s = NSString(data: data, encoding: NSUTF8StringEncoding)
return result_s

commmand getip

【问题讨论】:

Soooo 有什么问题? “我得到了我需要的结果”听起来不错。有什么问题? 对不起,我没有说清楚。我正在尝试将其转换为可重用的功能。所以我可以传递不同的参数。 将代码放入函数中,并为您想要更改的内容添加参数。 【参考方案1】:

试试这个:

func commmand(argument: String) -> String


    let task:NSTask = NSTask()
    let pipe:NSPipe = NSPipe()

    task.launchPath = "/bin/menubar"
    task.arguments = [argument]
    task.standardOutput = pipe
    task.launch()

    let handle = pipe.fileHandleForReading
    let data = handle.readDataToEndOfFile()
    let result_s = String(data: data, encoding: NSUTF8StringEncoding)!
    return result_s


print(commmand("getip"))

【讨论】:

我在“return result_s”上遇到异常无法转换“NSString”类型的返回表达式?返回类型“字符串” @Slayter,我尝试了您的示例代码,但出现此错误“:0: note: 'NSPipe' was obsoleted in Swift 3”。你知道我可以用什么来代替 NSPipe 吗?

以上是关于NSTask/NSAppleScript执行pod反馈env: ruby_executable_hooks: No such file or directory的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa NSTask 输出提取

NSAppleScript 是不是有 App Store 授权(来源:“do shell script \”sudo”命令?

NSTask 启动路径错误 [重复]

NSTask 源码中有趣的地方

将授权服务与 NSTask 一起使用

NSBundle 中的 NSTask