1

我使用 XCode 5.1.1 构建我的 OSX 应用程序并链接到 .dylib。我已经设置了 Build Phases -> Copy Files 以将 .dylib 复制到 Frameworks 目标中。

当我从 XCode 启动时它工作正常,但是当我从 Finder 双击启动 .app 包时,它抱怨它找不到 XCode 尽职尽责地放置在 Contents/Frameworks 下的 dylib,这可以在 finder 中轻松验证。

我的可执行文件上的 otool -L 显示它正在寻找

@loader_path/libXYZ.dylib (compatibility version 1.0.0, current version 1.0.0)

我可以通过在我的可执行文件上使用 install_name_tool 轻松解决这个问题,如下所示:

install_name_tool -change @loader_path/libXYZ.dylib @executable_path/../Frameworks/libXYZ.dylib  my_exec

但显然,每次重新构建时都会丢失这种变化。我如何告诉 XCode 首先设置 @executable_path../Frameworks?

4

1 回答 1

1

只需将运行脚本阶段添加到构建阶段。

于 2014-06-16T22:31:53.440 回答