一、安装
sudo gem install cocoapods-packager
二、打包
#(推荐)
pod package 项目名.podspec --force 打包成.framework文件
#(不推荐)
pod package 项目名.podspec --library --force 打包成.a文件。--force是指强制覆盖
这里需要注意,因为打包成library只有二进制,没有头文件,无法使用,所以这里只用打包Framework的方式
三、使用
image.png
把你刚刚打包好的xxxx.framework文件直接拖入项目中(注意是在xxxx.embededframework目录里)
image.png
引入头文件使用,#import<xxxx/xxxx.h>,使用
四、遇到的问题
1. 经典崩溃找不到方法,由于符号优化机制,分类中的方法在链接的时候会被优化掉,导致在运行时找不到方法
参考下面的链接:
iOS:Other Linker Flags 之 -ObjC
//www.greatytc.com/p/a94dbc12729e
但是这么改了,后续会和cocoapods冲突,导致分类很多符号丢失,困扰了我半天,最后重新起了demo项目,才解决,pod的设置如下情况:
image.png
2.由于使用了Framework,在项目中podfile中需要开启
use_frameworks!
在podfile的target项目里加入
pre_install do |installer|
# workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
end