CocoaPods-iOS开发必备

作者: 2MuchT | 来源:发表于2017-02-23 10:26 被阅读26次

从事iOS开发的小伙伴,应该会听说过CocoaPods,它的使用可以为iOS开发以及维护提升效率。

CocoaPods

什么事CocoaPods?

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 28 thousand libraries and is used in over 1.7 million apps. CocoaPods can help you scale your projects elegantly
-cocoapods.org

从官网的说明,CocoaPods是Objective-C和Swift工程的依赖包管理工具。类似于Node.js的npm,Java的Maven,或者mac系统的HomeBrew或者Red Hat Linux的 yum等。

为啥要用它?

  • 给项目添加依赖库更方便
  • 对于依赖的更新更便捷

如果使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install就可以了,Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。

想象一下,如果没有Pod,要把项目依赖的十几个甚至几十个依赖挨个下载、拖进工程。如果依赖有升级或更新需要重新下载、再覆盖工程原有的,要是第三方lib之间还存在相互依赖的话...

Pod 的安装

Pod 由Ruby构建,OS X系统默认自带Ruby,所以可以使用系统自带的Ruby安装pod

$ sudo gem install cocoapods

以上是官网上的安装说明,看起来很简单对吧✧(≖ ◡ ≖✿)~
但是,在天朝你会发现,命令执行可能很慢,数小时可能都玩不了,因为我们的墙...我实在不知道Ruby这种东西为什么还要墙呢? 所以针对天朝的开发者,有一下解决方案:

1. 用梯子

2.使用淘宝镜像(淘宝已停用,改用ruby china)

        //首先移除原有的镜像
$ gem sources --remove https://rubygems.org/
        //等有反应之后再敲入以下命令
$ gem sources --add https://gems.ruby-china.org/

淘宝镜像设置完成,验证一下:

$ gem sources -l

如果出现以下,说明镜像设置成功:

*** CURRENT SOURCES ***

        http://ruby.taobao.org/

切换淘宝镜像后,再 sudo gem install cocoapods就可以了

查找第三方类库

项目在导入第三方类库前,最好在pod中搜索一下pod是否收录了此类库
例如搜索AFNetworking

pod search AFNetworking

使用pod导入项目

首先在工程根目录新建一个名为Podfile的文件,格式如下:

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
  pod 'AFNetworking', '~> 2.6'
  pod 'ORStackView', '~> 3.0'
  pod 'SwiftyJSON', '~> 2.3'
end

然后执行

pod install

注意,** 如果你是使用Swift开发,一定不要忘记Podfile中的 use_frameworks!,否则会出错。**原因是大概是因为Swift的运行时库没有包含在iOS 框架中,这里不做赘述。

使用pod新建Xcode项目

上面介绍了是在项目中加入pod的方法,通常在项目建立时就使用pod,方法如下:

  • 首先使用Xcode新建一个项目
  • 然后Terminal cd至项目根目录
  • 运行 $ pod init
  • 打开 PodFile 然后编辑,注意平台类型,加入需要的类库,保存
  • 运行 $ pod install
    [使用pod后,打开项目时,要从.xcworkspace打开]

pod install和 pod update

注意:pod install 会按照Podfile中的版本好导入类库,如果file中的版本不是最新的,那么可能会出现错误,这时候就要使用 pod update 然后在 pod install了。

CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。

相关文章

网友评论

    本文标题:CocoaPods-iOS开发必备

    本文链接:https://www.haomeiwen.com/subject/eovvwttx.html