把自己写的一个库开源到git 上了。。 git地址。。然后朋友反馈说,不支持pod 安装,比较不方便。。所以楼主尝试把库提交到pod上,
这期间遇到了比较多的坑,,在这里记录下来,方便有这方面需求的同学查阅。。
首先CD 到你自己的目录下
1.注册cocoapoad,终端命令
pod trunk register 1858022890@163.com 'IOSzhangwei' --verbose //这里替换成自己的用户名和邮箱
pod trunk me 检查是否注册成功 下图为成功提示,
坑一:如果报错,一般是pod版本低或者ruby的版本低
2.创建 .podspec文件
pod spec create SDPickerController
然后通过 vim 命令打开SDPickerController.podspec 进行编辑。。这里边楼主也遇见一些坑,具体分析还是自己太SB。下面附上MJ老师刷新库的更改 ,,打开之后可能会有很多#注释的东西,那些你不用管,具体格式就按照下图。 把这些东西替换成自己的就可以了。。
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 文件的引用。。 要么把这个宏定义放到你出问题的这个文件里边。。
这一步编译不通过是正常的。也会遇见许多坑,没事,慢慢解决,它给出的提示也很明显。。
这个提示表示通过编译
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 的时候,大概花了1天时间。。不过这个仅仅是比较初级的版本,后续会涉及到更新版本的操作,会记录上来。。
最后最后,,如果各位有使用到 相册多选需求。。请记得库https://github.com/IOSzhangwei/SDImagePickerController.git,该库相比于其他类似库是有一定优势的。该库一直在公司项目使用,有bug 我会第一时间更改,也会一直维护下,,如果大家喜欢,请给个strar吧~