如何使用弱链接CocoaPods库构建iOS框架

前端之家收集整理的这篇文章主要介绍了如何使用弱链接CocoaPods库构建iOS框架前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 Xcode 6提供的新模板来构建一个iOS框架(Test.framework)来创建Cocoa Touch Frameworks.
框架在Podfile中指定了不同的依赖关系(如AFNetworking或FacebookSDK).我不希望依赖关系被包含在框架中,我只想链接到它们.

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

我真的坚持下去谢谢!

更多细节:

我已经阅读了关于弱链接
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

解决方法

我不能评论,所以我会在这里回答.
我想你不能这样做Cocoapods创建一个不是动态的静态库,所以当你编译并嵌入在你的框架中时,所有的代码都应该在那里.

Cocoapods documentation,去“幕后发生什么事情”?详细说明

如果你想为一些常见的pod组合一些基本的配置,可能最好的方法是制作一个自定义的Cocapod,其他的作为依赖.这样,您可以依靠Cocapod来管理版本,并根据您的偏好更新代码.我自己也使用类似的方法,我对结果很满意.

原文链接:https://www.f2er.com/iOS/335140.html

猜你在找的iOS相关文章