我正在尝试使用 Xcode 6 提供的用于创建 Cocoa Touch 框架的新模板来构建 iOS 框架(Test.framework)。该框架具有在 Podfile 中指定的不同依赖项(如 AFNetworking 或 FacebookSDK)。我不希望将依赖项包含在框架中,我只想链接它们。
问题是当我构建框架时,libPods.a 被链接并包含在内。 问:如何链接 libPods.a 库,但不将其包含在框架中?
更多细节:
我已阅读有关弱链接的信息: https ://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html 但我没有太多使用项目设置的经验,我我不是专业人士。
我尝试将 libPods.a 标记为“可选”,但没有任何改变,依赖项仍然包括在内。
我尝试从 Build Phases 中的“Link Binary With Libraries”部分中删除 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