向XCode 4添加框架

Mar*_*era 15 build-automation xcode frameworks objective-c

当然我在发布问题之前做过研究.

我看了
如何在Xcode 4中"添加现有框架"?
在Xcode中添加框架4
在Xcode 4 XCode 4中添加一个OpenGL框架
添加dylib

但整件事情都变得错了.

我的目标:将(CorePlot)框架添加到XCode Mac项目(而不是iPhone 项目)

我的环境:OSX Lion 10.7,SDK Lion,XCode 4.1(4B110)

我的步骤:

  • 打开XCode,创建了新项目
  • 将CorePlot下载到我的库目录中(如〜/ Applications/LIBS)
  • 打开项目首选项,通过(+)打开对话框添加框架
  • 添加现有框架(如果需要,+复制文件到目标组)
  • 所选目录是〜/ Applications/LIBS/CorePlot/Binaries/MacOS/CorePlot.framework /
  • DnD CorePlot到框架组
  • 添加了CorePlot Build Phases > Link Binary with Libraries

并运行我的项目

我得到的是这个错误信息:

dyld: Library not loaded: @loader_path/../Frameworks/CorePlot.framework/Versions/A/CorePlot
Referenced from: /Users/username/Library/Developer/Xcode/DerivedData/metralight-hjuvuwlhgohrtdeepvcymnsaxomc/Build/Products/Debug/metralight.app/Contents/MacOS/metralight
Reason: image not found
Run Code Online (Sandbox Code Playgroud)

事实上,当我查看给定目录(应用程序包)时,没有目录Frameworks,因此链接无法成功

我已经搜索了一个,并发现,我可以Build Rule通过一些脚本创建并将文件复制到最终的二进制包中,但这是唯一的方法吗?

是不是有一些选项可以打开/关闭复制链接框架到最终捆绑?

请注意,CorePlot目标'.framework'已Dynamic Library Install Name设置为@loader_path/../Frameworks/CorePlot.framework/Versions/A/CorePlot,因此它正在查找最终二进制包中的正确位置

Mar*_*era 28

通过"添加现有框架"添加框架后

  • 转到Project Settings>Build Phases
  • 在右下角,单击Add buid phase>Copy Files
  • 选择目标 >Frameworks
  • 将框架拖放到文件列表

就是这样.