如何构build一个弱链接的CocoaPods库的iOS框架

我正在尝试使用Xcode 6提供的用于创buildCocoa Touch Frameworks的新模板来构buildiOS框架(Test.framework)。 该框架具有在Podfile中指定的不同的依赖关系(如AFNetworking或FacebookSDK)。 我不希望依赖关系被包含在框架中,我只是想和他们联系起来。

问题是当我构build框架时,libPods.a被链接并包含在内。 问:如何链接libPods.a库,但不包含在框架中?


更多细节:

我已经阅读了弱链接: https : //developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html但我没有太多的经验与项目设置玩,所以我'我不是一个亲。

我试图把libPods.a作为一个“可选”,但没有任何改变,依赖依然包括在内。

我试图从“构build阶段链接二进制库”部分删除libPods.a,但我得到这个错误(清理项目文件夹后,再次build设):

ld: library not found for -lPods-MyFramework-AFNetworking 

我试图从“其他链接器标志”删除所有的标志,但它给了我未定义的符号:

 Undefined symbols for architecture armv7: "_OBJC_CLASS_$_FBSession", referenced from: objc-class-ref in TestClass.o ld: symbol(s) not found for architecture armv7 

这里是包含库的干净项目的源代码: https : //www.dropbox.com/sh/0ymuzw6kiagz02j/AABzyHiZVaQQvBEnjBgRBq3ua?dl=0

我不能评论,所以我会在这里回答。 我想你不能这样做。 Cocoapods创build一个静态库不是一个dynamic库,所以所有的代码应该在你编译时embedded到你的框架中。

Cocoapods文档 ,请进入“幕后发生了什么?” 详细的解释

如果你想为一些通常的豆荚做一些基本的configuration,最好的方法就是制作一个自定义的cocoapod作为依赖关系。 这样,您可以依靠cocoapods来pipe理版本,并根据您的偏好更新代码。 我自己也在使用类似的方法,对结果我很满意。