Mat*_*ong 9 cocoa command-line objective-c
我想创建一个没有GUI但可以访问应用程序包的帮助应用程序.我正在查看Xcode命令行项目模板,但这些只是生成可执行文件.如何创建类似命令行工具的东西,它不提供应用程序菜单,但提供对.app中捆绑资源的访问?我是否以错误的方式思考这个问题?
谢谢.
Bar*_*ark 16
彼得的答案(使用LSUIElement
)可能就是你要找的东西.偶尔,我想创建一个也有应用程序包的实际命令行应用程序.如果其他人遇到同样的情况,这就是我发现的......
应用包不是可执行文件.真正的可执行文件隐藏在内部:MyApp.app/Contents/MacOS/MyApp
是名为MyApp的应用程序的实际Mach-O可执行文件.标准的Xcode模板将应用程序链接到AppKit.framework,并有一个main.m,它定义了main()
启动NSApplication
实例的可执行文件的功能.但是,您可以将任何可执行文件放入应用程序包中,包括仅限控制台的应用程序.只需更换main()
功能main.m
与您的控制台应用程序的应用程序模板main()
的功能和应用程序的链接框架删除AppKit.framework.
如果你想要,你可以用main.cm替换main.c,如果你想完全避免使用Objective-C(尽管如果你替换main()
函数的内容,main.m中没有必然特定于Objective-C)).
要从控制台运行应用程序,您必须指定实际的可执行文件,而不是应用程序包,因此您必须MyApp.app/Contents/MacOS/MyApp
在命令行键入.当我使用app bundle作为控制台应用程序(提供链接的框架,资源等)时,我经常为可执行文件创建一个符号链接,并将符号链接放在/ usr/local/bin(或路径中的其他位置)安装或首次运行.