我有一个iOS
项目,其中包含以下设置(运行Xcode 5.1.1):
- MainProject.xodeproj
--- SubProject.xcodeproj
----- AThirdPartyFramework.framework
SubProject.xcodeproj
通过在{em>构建阶段'链接二进制文件库' 中包含MainProject.xcodeproj
,将SubProject.a
链接到AThirdPartyFramework.framework
作为静态库
构建阶段'链接二进制文件库中SubProject.xcodeproj
与SubProject
相关联。
AThirdPartyFramework.framework
从MainProject
导入标题。 SubProject
直接从AThirdPartyFramework.framework
导入SubProject
但从不的类;只能间接通过SubProject
。
构建/测试MainProject
目标时,构建成功没有任何错误。但是,在尝试构建Linker Errors
目标时,我会收到编译器SubProject
:
架构i386的未定义符号: " _OBJC_CLASS _ $ _ AThirdPartyFrameworkObject",引自:SubProject.a中的objc-class-ref(MyClassThatReliesOnAThirdPartyFrameworkObject.o)
注意:构建MainProject
目标时,我没有收到此错误
我也可以通过将AThirdPartyFramework.framework
与MainProject
相关联来再次构建我的SubProject.a
(再次使用 Build Phase' Link Binary With文库' )。然而,这似乎并没有在我脑海中计算。我的AThirdPartyFramework.framework
静态库是否包含MainProject
,并且不会向*.frameworks
公开?
或者是一个已知的限制,{{1}}需要包含在SubProject和MainProject中吗?