我正在 Xcode 4.3.3 中构建一个 C++ OpenGL 纸牌游戏,目的是在 64 位和 32 位 Mac 上运行它,这不是我的问题。我的问题是我已经在程序开发中达到了一个点,我想测试它是否可以在不同的 32 位 Mac(我的是 64 位)上运行,而无需安装 Xcode。显然,这需要我将其导出为 .app。我可以从我的项目中找到并运行导出的 Unix 可执行文件,在一些 cd'ing 之后,通过终端,但这对我和程序的目标受众来说是不可取的。我已经搜索了谷歌和 Stack Overflow,寻找任何可以帮助我的东西,但是所有提到存档的东西似乎对我的特定项目都不成功,我认为那是因为它是一个 C++ 命令行工具项目。所以,有人可以帮我将我的项目导出为 .app 吗?提前致谢。
3 回答
最简单的方法是创建一个 Cocoa 项目,进入“构建阶段”并从“与库链接”构建阶段删除所有 Objective-c 框架,删除模板添加的所有 Objective-c 文件(应用委托等),然后用您的 main.cpp 文件替换 main.c。
Cocoa 项目并没有什么特别之处,除了它链接到 Cocoa 并从它的 main() 函数调用 NSApplicationMain() 之外。
Cocoa 还使用了一堆 .plist 条目,您将不再需要它们。但它们不会影响 OS X 处理您的应用程序的方式。
我正在寻找 XCode 设置解决方案,但这是我目前创建应用程序的方法:
你必须把你的二进制文件(比方说myapp
)放在“MyApp.app/Contents/MacOS/myapp”中,然后它现在可以作为.app启动。那是个把戏。
只需转到左侧文件导航器中的目标文件夹,那里就会列出一个可执行文件。左键单击该可执行文件,然后单击“在查找器中显示”。(我是从记忆中描述的,所以我可能有错误的确切细节。)文件路径非常长(涉及任意字母数字路径名,我不知道为什么),所以你可能无法找到它用命令行。
如果您愿意,可以将文件的扩展名从无更改为“.app”,它根本不会影响文件的性质。此外,如果您想要自定义图标,您可以在查找器中“获取信息”,然后单击信息窗口中的图标,然后使用 Cmd-V 将其粘贴(显然您必须将图标复制到剪贴板)。在 Xcode 中也有一种方法可以做到这一点,但我不记得了。