创建 Framework 的帖子实在太多, 也很通用, 大家方法差不多. 这里列举几个我学习过的, 请先看懂这些通用方法再看后文:
让CocoaPods static library支持Module
这几个帖子比较简单明了, 对于第一次自己创建framework,还是很有帮助的.但是他们并未提及在其中包含别第三方的库, 比如非常常用的AFNetworking. 对于这个需求, 请看下文.
iOS 制作包含第三方库的 framework:
打包自己Framework中含有第三方库的解决方案分CocoaPods与手动导入两种方式
这几个帖子也许能解决部分朋友的问题. 但是我的需求是:把 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 的解释:
网友评论