Xcode 如何从Cocoa Applescript应用程序启动命令行二进制文件?
我想为名为的命令行二进制文件创建一个简单的GUI Cocoa Applescript应用程序。它可以通过一些参数启动,我想通过GUI指定这些参数。当它启动时,会打开一个X11窗口 在我创建一个复杂的GUI之前,我已经创建了一个带有一个文本字段和一个按钮的简单界面。我希望textfield信息是传递给二进制文件的一个参数,当我单击按钮让二进制文件与该参数一起启动时 我可以通过显示警报来实现这一点,例如,按下按钮时,警报会显示文本字段输入。但是,当我尝试用do shell脚本替换显示警报时,应用程序冻结,什么也没有发生 我不知道在哪里添加gmsh二进制文件是合适的,所以我把它放在了支持文件中 这是我的非工作AppDelegate.applscriptXcode 如何从Cocoa Applescript应用程序启动命令行二进制文件?,xcode,applescript,Xcode,Applescript,我想为名为的命令行二进制文件创建一个简单的GUI Cocoa Applescript应用程序。它可以通过一些参数启动,我想通过GUI指定这些参数。当它启动时,会打开一个X11窗口 在我创建一个复杂的GUI之前,我已经创建了一个带有一个文本字段和一个按钮的简单界面。我希望textfield信息是传递给二进制文件的一个参数,当我单击按钮让二进制文件与该参数一起启动时 我可以通过显示警报来实现这一点,例如,按下按钮时,警报会显示文本字段输入。但是,当我尝试用do shell脚本替换显示警报时,应用程序
script AppDelegate
property parent : class "NSObject"
property argOne : ""
on buttonClicked_(sender)
-- display alert "Argument one is " & argOne
do shell script "gmsh " & argOne
end buttonClicked_
on applicationWillFinishLaunching_(aNotification)
-- Insert code here to initialize your application before any files are opened
end applicationWillFinishLaunching_
on applicationShouldTerminate_(sender)
-- Insert code here to do any housekeeping before your application quits
return current application's NSTerminateNow
end applicationShouldTerminate_
end script
X11应用程序启动后,我不需要应用程序保持打开状态,因为Cocoa Applescript只是一个gui启动器。执行do shell脚本时,只要shell脚本正在运行,gui就会冻结。当程序持续冻结时,表示do shell脚本处于挂起状态。我看到的第一件事是,在命令和您发送给do shell脚本的参数之间缺少一个空格。这可能是你的第一期,应该是
do shell script "gmsh " & argOne
要保持GUI的响应性,AppleScriptObjC中有三个选项:
我纠正了我的打字错误,但那没用。单击按钮后,我不需要应用程序保持打开状态,因为它只是二进制文件的GUI启动器,本身会启动一个X11窗口。使用:'do shell script“gmsh”&argOne的引号形式&“&>/dev/null&”,这会在后台运行shell命令。我在控制台输出中找不到命令。如何引用位于“项目支持文件”文件夹中的二进制文件?如果在应用程序中成功复制了该文件,则该文件应为“指向我的路径”(即指向应用程序包的路径)。要访问该文件,它应该是“posixpath of((作为文本指向我的路径)&“Contents:Resources:gmsh”)”