打包自己Framework中含有第三方库的解决方案分CocoaPods与手动导入两种方式
文本着重点在自己打包时包含第三方库,同时工程在用问题的解决.如何打包framewprk的文章比较多本文不再重点讲述;
本文借鉴了:https://www.jianshu.com/p/cb17d6bae5a0 iOS中,Framework和.a的打包及使用
https://www.jianshu.com/p/6790fc295f48 【iOS 开发】打包 Framework 时使用 CocoaPods 引入第三方库的方法
摘要:
1.采用手动方式导入的第三方库,在打包framework时候,添加到工程时候不要够算添加到当前打包的工程的framework
2.通过Cocoapods管理第三方库时,真机模式下没问题,模拟器模式下,
- 选中
Target
,选择Build Settings
,在Architectures
下增加armv7s
。 - 一.采用手动导入第三方SDK方式
- 1.创建framework
2.在buid setting 搜索 mach
将Mach-O Type 改为 Static Library(静态库)类型
3.Build Active Architeture only 改为NO
3(2)选择需要公开的头文件
这里有一个注意点,公开的头文件中,#import的其他类也要公开,添加到public中,如果不想公开,就在头文件用用@class的方式,在对应的.m中用#import方式
4.手动导入第三方库不要添加到该framwork上面
5.选中真机和模拟器分别编译一下
6.合并真机和模拟器生成的二进制文件
打开终端 输入 lipo -create第一个framework文件下二进制文件的绝对路径 第二个framework文件下二进制文件的绝对路径 -output 最终的二进制文件路径 然后enter键
7.生成的二进制文件替换原先的真机生成或模拟器生成的二进制文件,然后相应的其所在的.framework文件就是最终的framework,将其导入别的工程使用时这个工程需要引进制作framework时用到的第三方SDk
二.使用cocoapods导入到framwork时注意事项,其他都和手动导入一样,当在模拟器编辑时候会报错,
选择 Build Settings
,在 Architectures
下增加 armv7s
。真机下不许改动,如果改动变异会报错