我正在尝试使用 Xcode 6 提供的新模板来构建一个 iOS 框架(Test.framework),用于创建 Cocoa Touch 框架。
该框架具有在 Podfile 中指定的不同依赖项(如 AFNetworking 或 FacebookSDK)。我不想将依赖项包含在框架中,我只想链接它们。
问题是,当我构建框架时,libPods.a 被链接并包含在内。问:如何链接 libPods.a 库,但不将其包含在框架中?
更多细节:
我读过有关弱链接的内容:https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html但我没有太多使用项目设置的经验,我不是专业人士。
我尝试将 libPods.a 标记为“可选”,但没有任何改变,依赖项仍然包含在内。
我尝试从构建阶段中的“链接二进制文件与库”部分中删除 libPods.a,但出现此错误(在清理项目文件夹并再次构建后):
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 https://www.dropbox.com/sh/0ymuzw6kiagz02j/AABzyHiZVaQQvBEnjBgRBq3ua?dl=0