• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

写一个pod发布到CocoaPods

其他 开心洋葱 2820次浏览 0个评论

我在日常开发中用到了CocoaPods,但大多用的都是别人的库,寻思着自己也要尝试发布一个pod到公共代码中去,这次发文的同时也发布了个简单的代码(DHFixCllocation2DHelper .h/.m)到CocoaPods。当我们日常调用iOS的CoreLocation的SDK获取到的位置是WGS-84坐标系,然而反向地理位置解析用的是GCJ-02坐标系,所谓的火星坐标偏移。最直观的就是iOS系统的CLLocation的坐标体系和Mapkit的坐标体系的差异,若将CLLocation的经纬度直接绘制在你Map上面会出现的偏移。

写一个pod发布到CocoaPods

图6:wgs-84 to gcj-02实现过程

下面就让我们跟着以下这张图来走完整个流程:

写一个pod发布到CocoaPods

图7:pod trunk

a.注册trunk

pod trunk register EMAIL [NAME]

pod trunk register duanhai@outlook.com ‘TonyDuan’ –verbose

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

pod trunk me

注册成功后可以看到相应的信息

写一个pod发布到CocoaPods

图8:注册trunk确认信息

b,创建podspec文件

用pod的命令创建podspec文件

pod spec create DHFixCLLocation

会生成一个DHFixCLLocation.podspec文件我们只需要简单修改下相应的信息即可。

写一个pod发布到CocoaPods

图9:DHFixCLLocation.podspec

①s.summary 即pod search ‘name’的时候显示的说明

②s.homepage git的仓库地址

③s.license Pods依赖库使用的license类型,填上对应的即可

④s.source_files 源文件路径,相对于podspec文件而言,本文中是DHCLLocation的文件夹下面的文件

写一个pod发布到CocoaPods

图10:podspec的文件结构

⑤s.frameworks 需要用到的frameworks,上图我截图时候截掉了,这里补充下

*1   s.frameworks=”CoreLocation”,”Foundation”

p.s.从github上面创建仓库并且clone这步我没有给出,需要说明的是创建仓库的时候应该把license加上,并且加上说明,方便开发者调用。

c.通过trunk推送podspec文件以及验证pod文件

在做这个步骤之前需要你确认两点

①.确保你的源码已经push到Github上。如果还没push源代码,可以用Terminal cd到本地源代码的根目录,执行

git add -A

git commit -m”first commit for version 1.0.0″

git push origin master

②.确保你所push的代码已经打上”version tag”,也就是给源代码打上版本号标签:

git tag’1.0.0′

git push –tags

确认上面的两点后,为了让推送能够顺利进行,我们可以对我们的pod文件进行一个验证。

参考:http://blog.csdn.net/wzzvictory/article/details/20067595中的 第四点。

pod lib lint的时候遇到了一个错误

写一个pod发布到CocoaPods

图11:pod lib lint验证

在pod lib lint 后面加上–verbose后可以得出更详细的信息,根据我的文件我的警告是description文件太短了,另外的一个错误是我把framework的依赖写成了CLLocation,应该是CoreLocation见上文中*1的地方。

写一个pod发布到CocoaPods

图12:pod lib lint验证通过

验证通过后就来到了最后一步

pod trunk push DHFixCLLocation.podspec 执行过程如图4的过程

写一个pod发布到CocoaPods

图13:pod trunk push DHFixCLLocation.podspec

我的上传过程还比较顺利,审核很快就过了。但是当我pod search 自己库名的时候,这个时候始终没有出现。其实这个时候你需要重新配置下你本地的pod库索引 pod setup,等待同步、合并的过程,完成后再来pod search ‘DHFixCLLocation’就出来了。上传一个pod到Cocoapods到此结束。想想是不是很激动呢,此刻有千千万万人的正在壮大、丰富这个库。Cocoapods让越来越多的开发者接受,并且出力。常用到的三方框架AFNetworking,VLCKit,FFMpeg等都在上面能够找到,同时许多SDK发布也采用了这种pod的模式,让你将更多的时间花在更有意义的事情上。方便你使用的同时,请你认清楚该pod采用的哪种协议(MIT or Others),综合考虑后选择你最钟意的一个pod来提升效率吧。

参考:

https://blog.cocoapods.org/CocoaPods-Trunk/

https://guides.cocoapods.org/making/getting-setup-with-trunk.html

http://objccn.io/issue-6-4/


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明写一个pod发布到CocoaPods
喜欢 (0)

您必须 登录 才能发表评论!

加载中……