我是可可和 mac 开发的新手。我编写了一个应用程序,它结合了使用可可框架的 Objective-C 和用 C++ 库 dylib 编写的后端。
我正在使用 xcode 4.6 并拥有上述两个项目 Cocoa 应用程序和我的 C++ 库。C++也是我自己的项目。
现在是部署的时候了。我想为它制作一个 pkg 安装程序。我可以在 xcode 4.6 中运行/调试它,因为我在 object-c 项目设置中添加了搜索库路径作为 C++ 项目的输出目录。因此它可以找到依赖项并运行而不会崩溃。
现在在 xcode 内的 Objective-C 项目树中,我看到 products -> mysoftware.app 文件。如果我在 finder 中找到这个 mysoftware.app 文件的位置并运行它,它就会崩溃。我打开这个应用程序文件的包内容,我看到内容如下结构
contents\(info.plist, MacOS, pkginfo, resources )
我在那里看不到我的 C++ 库,当我直接运行 mysoftware.app 时,双击它会崩溃,因为它找不到 dylib 我在报告窗口中看到堆栈跟踪它找不到 dylib,抱怨找不到该库 usr/ local/lib/mylib.dylib 我还手动将 dylib 文件放在我的可执行文件所在的 MacOS 中的 .app 中,希望它会从同一目录中找到 lib,但它没有,在上面给出了相同的消息并查看从理智的位置 /usr/local/lib/mylib.dylib
所以我的问题是如何解决 .app 包的部署依赖关系,我是否需要将 dylib 放在 .app 包中?我该怎么做,然后我的下一步是将这个单一的 .app 东西放在 pkg 安装程序中,
谢谢