cocoapods packager - ShenYj/ShenYj.github.io GitHub Wiki
-
作为
CocoaPods Plugins, 默认是不包含的, 需要单独安装sudo gem install -n /usr/local/bin cocoapods-packager
等待安装完成
Password: Successfully installed cocoapods-packager-1.5.0 Parsing documentation for cocoapods-packager-1.5.0 Done installing documentation for cocoapods-packager after 0 seconds 1 gem installed
-
生成类库
pod package YourPodName.podspec --force --library
-
参数说明
参数 说明 --force强制覆盖之前生成的文件 --no-mangle不使用name-mangling技术,也就是自动改类名等符号 --embedded生成静态的framework --library生成静态.a --dynamic生成动态framework --local使用本地文件 --bundle-identifier生成动态framework的时候需要这个BundleId来签名 --exclude-deps不包含依赖的符号表,也就是不把依赖的第三方库打包进去 --configuration=Release生成debug还是release的库,默认是release --subspecs=subspec1,subspec2如果你的pod库有subspec,那么加上这个命名表示只给某个或几个subspec生成二进制库 --spec-sources=private,https://github.com/CocoaPods/Specs.git默认是CocoaPods的Specs仓库,如果你的项目有私有的source,就可以通过这个参数来设置 补充说明
-Name-Mangling会把类名和全局常量改成Pod#{pod_name}_#{symbol}的形式,比如说我们的pod库YourPodName中有一个YourClass类,那它最终会被改成PodYourPodName_YourClass
-Name-Mangling并不会改方法名
-Name-Mangling无法对静态库生效
---exclude-deps参数,它也只会去除我们引入的第三方开源库,静态库还是会被打包进去。那如果接入方也引入了这个第三方静态库,还是会冲突