具有可选命令行模式的Cocoa应用程序

具有可选命令行模式的Cocoa应用程序,cocoa,scripting,cmd,Cocoa,Scripting,Cmd,我将从头开始一个新的Cocoa项目,我已经得到的一个要求是能够从同一个可执行文件中选择Cocoa GUI或命令行模式。未来可能会增加脚本能力,但现在不担心这一点 在Cocoa中实现这一点的最佳策略是什么,特别是如果我想维护某些Cocoa功能,如Obj-C垃圾收集?Xcode将使用具有命令行参数的main函数为您生成main.m。您应该解析它们,如果需要保持命令行模式,则永远不要启动应用程序。如果您是GUI,请正常启动。GC与此无关,因为GC不依赖于AppKit或Windows服务器。对于没有ma

我将从头开始一个新的Cocoa项目,我已经得到的一个要求是能够从同一个可执行文件中选择Cocoa GUI或命令行模式。未来可能会增加脚本能力,但现在不担心这一点


在Cocoa中实现这一点的最佳策略是什么,特别是如果我想维护某些Cocoa功能,如Obj-C垃圾收集?

Xcode将使用具有命令行参数的main函数为您生成main.m。您应该解析它们,如果需要保持命令行模式,则永远不要启动应用程序。如果您是GUI,请正常启动。

GC与此无关,因为GC不依赖于AppKit或Windows服务器。对于没有main.m的仅Swift项目,有没有办法获得此功能?我还没有检查,但是看看应用程序代理的didFinishLaunching或willFinishLaunching中的
CommandLine.arguments
——如果存在参数,您应该能够在处理完参数后退出。