IOS第三方库 cocoa Pods

一年前在外包公司呆过,惊叹于Cocoa Pods的强大,也让我有不少迷惑的地方。之前写过一篇Cocoa Pods使用的博客,详细列出了通过Unix终端命令搭建环境的步骤,发布在新浪sae搭建的WordPress博客平台,但是因为没有续费,现在找不到了。

近半年来在新公司,惊叹于老大进行项目依赖关系的处理,我老大主要是对iOS平台的Xcode工具中的Workspace、Project、Target以及各种静态库之间的关系理解的比较透彻,所以他这方面的操作很牛逼。其实跟老大学习这方面的东西,基本能够满足项目资源管理的需求了,但是为什么我还要重新整理Cocoa Pods,总结搭建Cocoa Pods环境的博客呢?我想主要有以下几点:

(1)看很多的iOS博客教程,基本初始的步骤就是要有Cocoa Pods环境;

(2)Cocoa Pods确实是一个方便的工具,特别是在敏捷开发多个项目的时候,一个工具重复使用,大量节约时间;

(3)可以及时更新github上面的开源库代码,只要改动Podfile文件中对应的开源库的版本号即可。


一、Cocoa Pods简介

Cocoa Pods是一个负责管理iOS项目中第三方资源的工具,它的项目源代码在Github上面管理,得益于活跃的Github开发者社区大神们的不断维护,从2011年8月该项目启动以来,它保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

在我们有了CocoaPods这个工具之后,只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后在命令行执行$pod install命令,CocoaPods就会自动将这些第三方资源库的源代码下载下来,并且为当前的工程设置好响应的系统依赖和编译参数。

二、Cocoa Pods的安装

(1)安装

安装的方式非常简单,Mac下已经再带了ruby,只要使用ruby的gem命令就可以安装了。打开Mac终端工具,在终端运行下面的命令,

[sudo] gem install cocoapods
pod setup

说明,上面的[sudo]可以省略,这两个步骤都是进行网络请求的过程,所以需要一定的等待时间。

(2)更新

如果我们修改了Podfile文件,那么就需要更新CocoaPods,使用下面的ruby的gem命令来更新,

[sudo] gem update cocoapods

(3)查找第三方库

可以使用pod search + lib_name来搜索第三方库,查看版本,如下命令所示,

sudo pod search sdwebImage

说明:SDWebimage是一个用于图片缓存的开源库,是对UIImageView类的扩展。

三、Cocoa Pods的使用

现在我在Desktop/develop文件夹下面新建了一个项目,参考CocoaChina中的一个教程,就是一个完整的天气App,项目名称为SimpleWeather,那么接下来这样操作使用Cocoa Pods,

(1)进入项目SimpleWeather.project所在的文件夹,在终端输入以下命令,

cd Desktop/develop/SimpleWeather

(2)在该目录中,通过Vim新建Podfile

vim Podfile

(3)通过i(insert模式),插入如下的语句,

platform :ios'7.0' 
  
pod 'Mantle' 
pod 'LBBlurredImage' 
pod 'TSMessages' 
pod 'ReactiveCocoa'

这样就指定了第三方资源的iOS版本、开源库主要包括:Mantle、LBBlurredImage、TSMessages、ReactiveCocoa,这些都不重要,这里只是示范而已。

输入完成以后退出vim并保存,先Esc然后输入:wq,表示写入并退出

(4)在终端输入$pod install,

pod install

初始化pod也是一个网络请求下载的过程,稍等一段时间,如果输入的资源名称没有问题,那么过一段时间就会在终端得到初始化成功的提示。

四、通过WorkSpace来进行项目代码的编写

进入项目文件夹,可以看见一个后缀名未.workspace的文件,双击打开。从现在开始我们通过来SimpleWeather.xcworkspace管理项目、编写代码,而不是之前的SimpleWeather.xproj,打开workspace文件,Xcode项目的文件结构如下图所示,

第一个箭头所指的就是SimpleWeather项目;第二个箭头就是Pods帮我们生成的项目,它来管理需要的资源库;第三个箭头指向的就是Podfile里面指定的第三方开源库。

还有需要注意的是每当我们修改了Podfile这个文件之后,一定要在项目所在文件夹执行$pod install命令,还可以执行$pod update来更新类库。


总结:

这里是我在开发过程中简单总结的,有很多没有考虑到的细节,我会根据自己遇到的问题再不断地更新这个博客。在上家公司工作的时候就遇到一些CocoaPods更新时候需要最高权限的问题,我尽量在后面重现,帮助遇到该问题的朋友解决这个问题。





IOS 第三方管理库管理 CocoaPods

越来越多的SVN管理,越来越多的工程文件,我不能总是那么一个一个的把第三方库拖进去,我厌倦了拖拽和配置,我找到了替代方法--CocoaPods

英文好的可以直接读一下我参考的网页 http://www.raywenderlich.com/12139/introduction-to-cocoapods

不嫌我唠叨 我就自己慢慢敲

第一步:安装

CocoaPods是跑在Ruby的软件,安装可能需要几分钟,打开你的终端输入:

sudo gem install cocoapods

如果成功 会有一个 Successfully installed cocoaPods的提示 ,

然后输入

pod setup

如果显示Ruby环境不够新,你的机子就跟我的机子一样老,来升级吧

sudo gem update --system

好你的Ruby升级完了,可以重复之前的步骤了。

第二步:创建一个 Podfile 文件

继续在你的终端操作,先使用 cd 操作 进入你的项目目录例如 cd ~/desktop/HelloWord

在这个目录下创建文件

touch Podfile 然后回车继续输入
open -e Podfile 这时将直接打开一个空的文件先在这打开着不要管一会会处理的

第三步:搂一搂 搜索库

现在就需要找到你要的第三方库了,在终端里输入(以查找Reachability为例)

pod search Reachability

 终端会有和这个搜索结果相近的选项(示例如下)

-> KSReachability (1.3)
A better iOS & Mac reachability for a modern age.
- Homepage: https://github.com/kstenerud/KSReachability
- Source: https://github.com/kstenerud/KSReachability.git
- Versions: 1.3, 1.1, 1.0, 0.0.1 [master repo]

-> NPReachability (0.1.0)
Reachability without the suck.
- Homepage: https://github.com/Abizern/NPReachability
- Source: https://github.com/Abizern/NPReachability.git
- Versions: 0.1.0 [master repo]

-> Reachability (3.1.0)
ARC and GCD Compatible Reachability Class for iOS and OS X. Drop in
replacement for Apple Reachability.
- Homepage: https://github.com/tonymillion/Reachability
- Source: https://github.com/tonymillion/Reachability.git
- Versions: 3.1.0, 3.0.0, 2.0.5 [master repo]

第四步:在刚才打开的空白Podfile中加入你想要的,如

platform :ios  (这表示应用平台)
pod 'Reachability', '3.1.0'   (库的名称  库的版本号)
(如果是多个就继续罗列即可):
platform :ios
pod 'JSONKit','1.4'
pod 'Reachability','3.0.0'

第五步:将这个写入数据的 Podfile保存后关闭

第六步:在终端输入

pod install

然后终端会有显示 示例:

[!] From now on use `name.xcworkspace'.

最后:是的 就像你看到的,你打开工程需要双击 .xcworkspace 这个工程,而不是之前的xcodeproj!!

 

OK 就这样了

最近使用时发现 FMDB找不到,一看版本号 pod --version 0.16.4  好老的版本,然后升级下

就是重新装一下   sudo gem install cocoapods   等操作完成 重新显示一下版本号 0.19.1   OK FMDB也有了~

 

 

补充一下:最近在给新机子安装时 发现 sudo gem install cocoapods 没有反应,看来又是被墙了,可以FQ操作,也可以用淘宝的ruby镜像

在终端敲入

$ gem sources --remove https://rubygems.org/

等有反应后再敲入 $ gem sources -a http://ruby.taobao.org/

然后测试下是真的可以了么,敲入
$ gem sources -l
*** CURRENT SOURCES ***

http://ruby.taobao.org/

恩 好了 继续之前的安装步骤 sudo gem install cocoaPods~~ 就可以了

//当前屏幕中心点的经纬度

CGFloat centerLongitude = self.mapView.region.center.longitude;

CGFloat centerLatitude = self.mapView.region.center.latitude;

//当前屏幕显示范围的经纬度

CLLocationDegrees pointssLongitudeDelta = self.mapView.region.span.longitudeDelta; CLLocationDegrees pointssLatitudeDelta = self.mapView.region.span.latitudeDelta;

//左上角

CGFloat leftUpLong = centerLongitude - pointssLongitudeDelta/2.0;

CGFloat leftUpLati = centerLatitude - pointssLatitudeDelta/2.0;

//右上角

CGFloat rightUpLong = centerLongitude + pointssLongitudeDelta/2.0;

CGFloat rightUpLati = centerLatitude - pointssLatitudeDelta/2.0;

//左下角

CGFloat leftDownLong = centerLongitude - pointssLongitudeDelta/2.0;

CGFloat leftDownlati = centerLatitude + pointssLatitudeDelta/2.0;

//右下角

CGFloat rightDownLong = centerLongitude + pointssLongitudeDelta/2.0;

CGFloat rightDownLati = centerLatitude + pointssLatitudeDelta/2.0;

NSLog(@"\n 左上 %f,%f---------\n 右上 %f,%f-------\n 左下 %f,%f----- \n 右下 %f,%f",leftUpLong,leftUpLati,rightUpLong,rightUpLati,leftDownLong,leftDownlati,rightDownLong,rightDownLati);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值