CocoaPods管理自制库步骤以及踩坑

最近公司项目需要重构,并且进行组件化构建,所以想到了把项目的工具类和UI控件上传到git上同时用cocoapods进行管理。

1、在Github上创建存储库(前提是得有一个Github账号,如果没有就注册一个)、把你需要用cocoapods管理的代码根据操作步骤上传到git

2、cocoapods托管需要创建pod账号,发布到cocoapods上你需要有一个pod 的账号,可以使用pod trunk me 来查看自己的账号信息,如果没有账号的话需要先注册一下:

命令: pod trunk register xxxxx.com

然后会提示你去邮箱验证,打开验证地址就可以验证成功了,此时再输入命令pod trunk me 就可以看到自己的账号信息。

3、创建podspec文件,使用终端进入到工程文件的目录中,在README.md文件所在的位置创建一个podspec 文件,使用pod spec create xxxxx,然后根据代码的实际情况编辑podspec文件

只需要把以下内容改成你自己的即可

s.name :库的名字

s.version : 版本,要和github上的仓库tag对应

s.license :授权s.summary :描述

s.homepage = github仓库主页

s.authors :作者名字和联系邮箱

s.source :仓库地址

s.requires_arc : 是否ARC

s.ios.deployment_target : 最低支持的系统版本

s.source_files : 资源文件

s.source : bundle文件

s.frameworks :所需的framework,多个用英文逗号隔开

创建授权文件LICENSEvim LICENSE我用的是MIT的许可协议,内容是拷贝维基百科上MIT许可证的声明

或者你可以利用别人已经使用的spec文件也可以,但是要修改s.name ,s.homepage,s.source,s.source_files以及当前依赖的第三方库

4、把修改的文件再次更新到git上面

5、设置代码的tag值  git tag "0.0.2" 然后提交到git上 git push --tags,同时验证下podspec文件是否正确:pod spec lint xxxx.podspec。如果无问题,直接走6步骤;否则检查错误

6、发布到cocoapods上 pod trunk push xxxxxx.podspec,如果命令行中没有报错说明发布成功,我们可以 pod search xxxx 找到,如果显示未找到可能是发布到pod远程库成功了,但是本地库没更新导致的,所以用了pod repo update命令

7、发布成功后,如果pod search 不到的话, 解决方法就是Finder前往资源库去删除缓存中的search_index.json(targetcloud修改成你自己的)

/Users/targetcloud/Library/Caches/CocoaPods删除search_index.json

备注: podspec文件切记不要用记事本打开,导致内容编码格式不正确。

踩的坑:

1、版本号的问题

CocoaPods管理自制库步骤以及踩坑_第1张图片
版本号error

这是你git上的当前版本还未打tag,你需要进行下面操作 git tag 0.0.1 同时把tag推送到git上 git push --tags

2、 网络连接问题


网络error

确认网络连接良好就OK

3、依赖的库版本和制作库的版本问题

CocoaPods could not find compatible versions for pod "Realm"CocoaPods could not find compatible versions for pod "Realm": In Podfile: iOSRealm (from `/Users/ponted/Desktop/realmOrm/iOSRealm.podspec`) was resolved to 0.0.1, which depends on Rea

问题在于依赖库的版本基于iOS8.0的,但是制作库的版本并未限定版本,解决办法就是把制作库的适用版本也基于iOS8.0。

4、code文件找不到问题


代码文件error

podspec里面设置的source_files路经不对,找不到对应的文件,解决办法是设置正确的文件路径

暂时就只是发现这些问题,后续如果再次自制库发现问题会再次更新。

你可能感兴趣的:(CocoaPods管理自制库步骤以及踩坑)