Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Objective-c中打开外部应用程序并运行该应用程序的特定功能_Objective C_Macos_Cocoa - Fatal编程技术网

如何在Objective-c中打开外部应用程序并运行该应用程序的特定功能

如何在Objective-c中打开外部应用程序并运行该应用程序的特定功能,objective-c,macos,cocoa,Objective C,Macos,Cocoa,我是新的mac开发者,我想做以下事情: 我创建了一个简单的应用程序,我想单击应用程序中的一个按钮打开位于mac上的外部应用程序(如open Disk Utility)(我知道如何使用launchApplication完成这一部分) 除了打开应用程序,我还想在打开Disk Utility应用程序后自动执行特定功能(如Disk Utility中的擦除功能)。(我不知道怎么做)你能给我看一些演示吗?我在mac电脑上是新手 谢谢 外部应用程序应该是可编写脚本的应用程序 可编写脚本的应用程序是一种使其操作

我是新的mac开发者,我想做以下事情:

  • 我创建了一个简单的应用程序,我想单击应用程序中的一个按钮打开位于mac上的外部应用程序(如open Disk Utility)(我知道如何使用launchApplication完成这一部分)

  • 除了打开应用程序,我还想在打开Disk Utility应用程序后自动执行特定功能(如Disk Utility中的擦除功能)。(我不知道怎么做)你能给我看一些演示吗?我在mac电脑上是新手


  • 谢谢

    外部应用程序应该是可编写脚本的应用程序

    可编写脚本的应用程序是一种使其操作和数据可用于响应AppleScript消息的应用程序,称为Apple事件。Apple事件是一种进程间消息,可以指定复杂的操作和数据。Apple事件使将高级任务封装在单个包中成为可能,该包可以跨流程边界传递、执行并使用应答事件响应


    您可以在相关的Apple文档中找到更多详细信息:

    您应该看看Applescript。另外,一个应用程序能够控制另一个应用程序对我来说听起来有点危险,只要确保你没有侵犯太多用户的权利。使用新的沙箱规则,你可能会在apple脚本和任何其他形式的“让应用程序X做点什么”中遇到问题。我可以使用命令行执行相同的功能吗?我想如果这样做有效的话,我们可以使用NSTask或其他类来执行,对吗?你可以使用它来控制应用程序中的可编写脚本的应用程序。谢谢,如果可能的话,你能给我提供一个教程吗?我在mac开发中真的是新手?再次感谢!!