背景:最近做了一个 SDK,需要发布到 CocoaPods,本以为回忆下之前的做法就能搞定,事情往往不是你想的那么简单。这不,今天就因为一个命令,试了整整一个下午+中午。
SDK 中使用到了第三方的一个库,好在这个这个第三方的库没有依赖其他第三方的库,原本要做成 framework,所以一开始直接将这个第三方库的源码拖拽进项目了,当成了 SDK 的源码,最后由于各种原因,要使用 Cocoapods。
下面就说下遇到的问题吧:
- SDK 文件夹下有 bundle,podspac 中要这样写:
spec.resource = 'Resources/HockeySDK.bundle'
- SDK 文件夹下还有文件夹,参考下面的命令吧
guides.cocoapods.org - 第三方库中很有可能使用了一些系统库和函数,在执行
pod spec lint --verbose XXXX.podspac --allow-warnings
时可能会报错,错误基本就是编译不通过,要用下面的命令pod spec lint --verbose --use-libraries --allow-warnings
。
还没完,推送的时候,也要加上--use-libraries
,命令如下:pod trunk push --use-libraries --allow-warnings
4.此时,在你的主工程执行 pod install
可能无法找到你的 SDK,会报下名的错误:[!] Unable to find a specification for
,此时需要更新 pod repo 库,用下面的命令更新pod repo update master
网友评论