如何通过命令行使用现有的Mac应用程序?

时间:2012-10-02 21:08:14

标签: xcode cocoa command-line terminal

我希望调整我从应用程序商店下载的css格式化程序应用程序,以便我可以从命令行控制它。基本上在我将文件推送到github之前,我希望应用程序格式为.css文件。所以我想知道如何在不手动操作的情况下让应用程序运行其进程。

我不知道从哪里开始...我有xcode。

所以我的问题是,我从哪里开始?

你能指点我做过类似事情的人吗? 我应该在应用程序中最关注哪些文件?

感谢方向

2 个答案:

答案 0 :(得分:2)

如果它是来自Mac App Store的常规应用,您可以在Contents/MacOS/AppName的应用包中找到可执行文件。

因此,要启动Mail应用程序,您必须执行此操作:

/Applications/Mail.app/Contents/MacOS/Mail

答案 1 :(得分:2)

假设您不想从命令行启动它,您想让它做一些有用的事情。

1 - 反汇编并链接您自己的程序

Mac应用程序将在捆绑包中具有可执行文件(在TheApp.app/Contents/MacOS/APP_NAME中)(这只是一个目录)。 Xcode赢得了真正的帮助。

该应用程序很可能会使用AppKit / NSApp Cocoa框架,可执行文件将创建一个App实例,设置GUI等,注册事物。 Cocoa应用程序可以在代理,回调等系统上运行。它不仅仅是一个同步运行的主要功能。他们几乎肯定不会导出您可以链接和调用的简单外部符号。即使你这样做,也需要头文件。

您可以查看Objective-C反汇编程序,因为已编译的可执行文件可能具有足够的符号来大致了解正在进行的操作。但是你需要对Objective-C和Cocoa有一点了解(至少,足以知道这很难)。

所以选项1,除非你知道你正在做什么,否则它不是一个真正的选项,可以解决程序符号是/拆解可执行文件的问题,并编写你自己的应用程序链接到二进制文件并调用相关方法。

2 - 编写GUI

另一方面,您可以查看它是否可以编写Apple脚本。您可以启动应用程序,记录活动(查看AppleScript编辑器的记录功能)以编写实际的GUI脚本。这可能有用。

3 - 与作者交谈

如果你真的想要这个,我建议你和作者谈谈。也许他们可以将它用作命令行工具。