创建 Framework, 包含第三方 framework (Afnetworking\JSModel 等)

       创建 Framework 的帖子实在太多, 也很通用, 大家方法差不多. 这里列举几个我学习过的, 请先看懂这些通用方法再看后文:

让CocoaPods static library支持Module

iOS Xcode9 封装生成.framework

iOS SDK~ 打包framework、开发与调试

       这几个帖子比较简单明了, 对于第一次自己创建framework,还是很有帮助的.但是他们并未提及在其中包含别第三方的库, 比如非常常用的AFNetworking. 对于这个需求, 请看下文.

iOS 制作包含第三方库的 framework:

打包自己Framework中含有第三方库的解决方案分CocoaPods与手动导入两种方式

iOS静态库SDK制作(包含第三方静态库)

iOS开发——创建你自己的Framework

iOS封装功能生成 .framework


       这几个帖子也许能解决部分朋友的问题. 但是我的需求是:把 AFNetworking.h 放在 vc.h, 然后再在subVC.h中使用. 

      思路如下:

      1.  创建 新framework 的project, 使用 新framework 的Demo project 都使用 cocoapod 导入 AFNetworking.

     2. 创建 新framework 的project, build 出来的 .framework 拿到 Demo project 中使用.

其中遇到一些问题:

错误1: Undefined symbols for architecture x86_64:

  "___cxa_begin_catch", referenced from:

iOS经典错误Undefined symbols for architecture XXX:

这个问题主要是找不到文件,需仔细检查自己的文件.


错误2: Include of non-modular header inside framework module 'kenConnect.KenViewController

Demo project 没有正确导入第三方库.


错误3:duplicate xxx in .o

重定义了某些标签,主要是因为新framework和 Demo project 都导入了 AFNetworking, 导致.

解决:

完成以上操作, 自创包含第三方sdk 的 famework 就能用了.



再附录几个Build setting 的解释:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容