【发布时间】:2016-09-15 17:47:48
【问题描述】:
我正在开发一组(仅供内部使用)框架,这些框架封装了我的开发过程中的各种元素。其中一些框架相互依赖,但我想将它们分开以便更易于管理。我现在遇到了各种编译器错误,我认为与依赖项重叠有关。
目前,所有这些框架和一个应用程序与不同的项目共享同一个工作区。在这种情况下,如何配置我的应用程序和框架以进行编译?
这是一个简单的想法:
应用依赖: A.framework B.framework C.framework D.framework
A.framework 依赖项无
B.framework 依赖 A.framework
C.framework 依赖 A.framework B.framework
D.framework 依赖项无
更多信息:
目前,在 C.framework 中,我已将 A 和 B.frameworks 拖到“Frameworks”文件夹中。我在别处阅读了 not Link Binary With Libraries。无论哪种方式,对于 A 和 B.framework 的标头中的某些函数,我都会收到编译器错误:
ld: symbol(s) not found for architecture armv7
A 和 B 的构建设置将“仅构建活动架构”设置为 NO,并将有效架构设置为包括“armv7”。
B.framework,但是构建没有问题。
更新:
我现在可以通过在每个目标中链接二进制文件来构建应用程序...但是它立即因此错误而崩溃:
dyld: Library not loaded: @rpath/A.framework/A
Referenced from: /var/containers/Bundle/Application/94488FD7-B731-4E6B-86E6-3D2F09BB4E04/App.app/App
Reason: image not found
【问题讨论】:
-
用您遇到的示例错误更新您的问题。
标签: ios objective-c xcode frameworks