创建私有库
1.切换到想要存放地址path,使用pod命令创建(假如这里很慢,怎么做你懂得)
//成功后按照提示,配置仓库信息即可,CocoaPods会帮我们创建XCode工程
pod lib create [you Spec name]
- cd到Example路径下, 打开Example 中的.workspace文件 打开工程
找到.podspec
3.修改podspec文件,私有库要更改homePage地址。修改完成后, cd 到WYLib目录下执行
pod lib lint
验证私有库是否合法,注意podspec文件格式要正确
更新私有库
- 更新版本号:0.1.5
2.设置tag并上传
git tag 0.1.5
git push --tags
- 校验合法性
pod spec lint --allow-warnings
假如我们的库有依赖私有库,那么校验时需要添加私有库仓库地址,命令变为:
pod sepc lint 文件名.podspec --sources='你仓库地址,https://github.com/CocoaPods/Specs.git'
- 上传到仓库
pod repo push 【你的仓库名称】 xxxxxxxxx.podspec --allow-warnings
- pod search 查看是否成功
附 pod 安装版本含义
pod 'AFNetworking' //不显式指定依赖库版本,表示每次都获取最新版本
pod 'AFNetworking', '~>0' //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
pod 'AFNetworking', '~> 0.1.2' //使用大于等于0.1.2但小于0.2的版本
pod 'AFNetworking', '~>0.1' //使用大于等于0.1但小于1.0的版本
pod 'AFNetworking', '2.0' //只使用2.0版本
pod 'AFNetworking', '= 2.0' //只使用2.0版本
pod 'AFNetworking', '> 2.0' //使用高于2.0的版本
pod 'AFNetworking', '>= 2.0' //使用大于或等于2.0的版本
pod 'AFNetworking', '< 2.0' //使用小于2.0的版本
pod 'AFNetworking', '<= 2.0' //使用小于或等于2.0的版本
pod 'AFNetworking', :git => 'http://gitlab.xxxx.com/AFNetworking.git', :branch => 'R20161010' //指定分支
pod 'AFNetworking', :path => '../AFNetworking' //指定本地库
附在使用支付宝相关SDK报错
ld: building for iOS Simulator, but linking in object file built for iOS, file '/var/folders/1l/nm8fcxf51r3_m3ytrnyh3mjr0000gn/T/CocoaPods-Lint-20210313-86060-16jc7bl-CassAlipay/Pods/AlipaySDK-iOS/AlipaySDK.framework/AlipaySDK' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
mac电脑10.15.7操作系统和xcode12.0.1版本全面抛弃对arm64的Release-iphonesimulator模拟器支持。而支付宝SDK还兼容arm64。
解决方案:
在XXX.podspec配置文件中增加:s.pod_target_xcconfig = { 'VALID_ARCHS' => 'x86_64 armv7 armv7s arm64' }。
附苹果机型及指令集
- arm64:
【当前最新款iPhone ~ iPhone6 系列】iPhone5S 【iPad Air| iPad mini2(iPad mini with Retina Display) ~ 最新款iPad 】 - armv7s:
iPhone5|iPhone5C|iPad4(iPad with Retina Display) - armv7:
iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4
i386是针对intel通用微处理器32位处理器
x86_64是针对x86架构的64位处理器
模拟器32位处理器测试需要i386架构,
模拟器64位处理器测试需要x86_64架构,
真机32位处理器需要armv7,或者armv7s架构,
真机64位处理器需要arm64架构。