我正在使用
Xcode 6提供的新模板来构建一个iOS框架(Test.framework)来创建Cocoa Touch Frameworks.
框架在Podfile中指定了不同的依赖关系(如AFNetworking或FacebookSDK).我不希望依赖关系被包含在框架中,我只想链接到它们.
框架在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创建一个不是动态的静态库,所以当你编译并嵌入在你的框架中时,所有的代码都应该在那里.
Cocoapods documentation,去“幕后发生什么事情”?详细说明
如果你想为一些常见的pod组合一些基本的配置,可能最好的方法是制作一个自定义的Cocapod,其他的作为依赖.这样,您可以依靠Cocapod来管理版本,并根据您的偏好更新代码.我自己也使用类似的方法,我对结果很满意.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。