记一次pod踩坑之旅

把自己写的一个库开源到git 上了。。 git地址。。然后朋友反馈说,不支持pod 安装,比较不方便。。所以楼主尝试把库提交到pod上,

这期间遇到了比较多的坑,,在这里记录下来,方便有这方面需求的同学查阅。。

首先CD 到你自己的目录下

1.注册cocoapoad,终端命令

pod trunk register [email protected] 'IOSzhangwei' --verbose          //这里替换成自己的用户名和邮箱

pod trunk me  检查是否注册成功    下图为成功提示,

记一次pod踩坑之旅_第1张图片

      坑一:如果报错,一般是pod版本低或者ruby的版本低

2.创建 .podspec文件

pod spec create SDPickerController 


然后通过 vim 命令打开SDPickerController.podspec 进行编辑。。这里边楼主也遇见一些坑,具体分析还是自己太SB。下面附上MJ老师刷新库的更改 ,,打开之后可能会有很多#注释的东西,那些你不用管,具体格式就按照下图。 把这些东西替换成自己的就可以了。。


记一次pod踩坑之旅_第2张图片

s.name  :为你的开源库名称(非你的项目名)

s.version  :版本号

s.homepage : 该库的git地址

s.license      = 'MIT' //国际开源协议

s.platform    = :ios, '6.0'  //最低适配版本

s.requires_arc = true  //是支持arc

s.resource    = 'MJRefresh/MJRefresh.bundle'  //资源地址,一般放image 和xib文件

总的来说, 这一步骤,如果按照上边的写,,是不会遇见太多坑的、

4.验证编辑是否通过

pod lib lint SDPickerController.podspec      (这一步骤,楼主遇到太多坑,总结如下)


在写自己库的时候,为了方便, 建立了一个.h 文件,里边放了一些经常引用的文件,以及一些宏定义,比如屏幕宽高,我在这个文件里边定义了 WIDTH  HEIGHT   。。

现在我在另外一个文件用 width 属性,在Xcode 编译运行没问题的,但是在这里编译是通不过的。。应该是编译环境的问题,解决方法。。要么添加你这个.h 文件的引用。。 要么把这个宏定义放到你出问题的这个文件里边。。

这一步编译不通过是正常的。也会遇见许多坑,没事,慢慢解决,它给出的提示也很明显。。


记一次pod踩坑之旅_第3张图片

这个提示表示通过编译

5.打上tag,并提交到github    这一步,网上大多数的资料说要加v ,git tag 'v1.0.1'(这里的1.0.1  与你在podspec的版本号相同)。此处没有加v 一样可以使用

git tag '1.0.1'

git push --tag

push 成功后会有提示。。[new tag]  1.0. 1 字样


6.把podspec文件提交到github的库仓库中

pod trunk push SDPickerController.podspec   


这一步也遇到许多坑,,大概意思是,提示找不到 这个版本1.0.1.。。这样的错误,一般就是因为你做第5步的时候,没有弹出[new tag]  1.0. 1字样,或者没有push 成功。,一定要确保push 成功,

当你能用$ pod search xxx搜索到自己的库的时候,那么已经创建成功了

记一次pod踩坑之旅_第4张图片


参考链接 总结:在做pod 的时候,大概花了1天时间。。不过这个仅仅是比较初级的版本,后续会涉及到更新版本的操作,会记录上来。。

最后最后,,如果各位有使用到  相册多选需求。。请记得库https://github.com/IOSzhangwei/SDImagePickerController.git,该库相比于其他类似库是有一定优势的。该库一直在公司项目使用,有bug 我会第一时间更改,也会一直维护下,,如果大家喜欢,请给个strar吧~

你可能感兴趣的:(记一次pod踩坑之旅)