创建公共的Pods库(提交到cocoapods)

官网地址:https://guides.cocoapods.org/

pod导入的库默认地址:~/.cocoapods/repos

1.如果电脑还未注册到cocoapods,则先注册:

pod trunk register [email protected] 'chenzhe' --description='xyz'

注册成功后会在你的邮箱收到一份确认邮件,

注册完之后可以通过pod trunk me 查看基本信息。


2.在已有的现成项目里面创建PodSpec文件。

pod spec create HHZConfig


供参考podspec文件:

https://github.com/chenzhe555/iOS-HHZUniversal/blob/master/iOS-HHZUniversal.podspec


3.修改必要信息之后检测podspec文件是否合格:

检测之前一定要打Tag:

git tag '0.0.1'

git push --tags

然后检测文件:verbose是为了显示详细信息,allow-warnings忽略项目中的警告

pod spec lint HHZConfig.podspec --verbose --allow-warnings


4.注册到Pods库的master库:

pod trunk push HHZConfig.podspec --allow-warnings


PS:

1.如果遇到trunk push成功了,但是pod search 还是搜索不到,提示[!] Unable to find a pod with name, author, summary, or description matching `xxx`则是因为搜索到缓存文件导致,删除~/Library/Caches/CocoaPods目录下的search_index.json文件即可,然后再pod search就能搜索到新提交到Pods项目。


2.去掉三方的警告:inhibit_all_warnings!


3.依赖本地项目的podspec:有时候podspec检测成功后不想直接push到cocoapods上,可以考虑直接依赖本地项目,在Podfile文件中加入:

pod 'HHZUtils', :podspec => '/Users/GoodBoy/Desktop/Github/HHZUtils/HHZUtils.podspec'


4.xcodebuild: Returned an unsuccessful exit code.

又是这个恶心的错误,以前的忘了,现在开始写它各种可能,网上有很多原因,但是我的跟他们不一样,因为是新项目加入到pod,所以找不到头脑,看了错误信息,在Build的时候失败了:7 duplicate symbols for architecture x86_64 。这尼玛怎么可能,然后找了项目里面这些,没有一个是duplicate,试了两遍还是不行。于是准备试试是不是tag的原因,因为一直pod的0.0.1版本的Tag,现在把Tag改为0.0.2,可以了。。。


5.Encountered an unknown error (The 'Pods-App' target has transitive dependencies that include static binaries: (/private/var/folders/38/j_n07_sx2lzdfq51rvnmt18w0000gn/T/CocoaPods-Lint-20170725-5018-an7p8j-HHZUmengTool/Pods/UMengUShare/UShareSDK/UMSocialSDKPlugin/libUMSocialLog.a

当时是封装友盟的工具类的时候,上传到cocoapod报错。大致很明显了,没有依赖.a静态库
或者framework动态库。

在podspec加入

s.frameworks = ...

s.libraries = ...

然后还需要加入--use-libraries命令,可通过pod spec lint --help查看到相关命令

pod spec lint HHZUmengTool.podspec --verbose --allow-warnings --use-libraries

你可能感兴趣的:(创建公共的Pods库(提交到cocoapods))