关于cocoapods的一些东西

cocoapods的安装和使用

1.先升级Gem(可以省略)
    sudo gem update --system


2.切换cocoapods的数据源
    终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)
    gem sources --remove https://rubygems.org/
    gem sources -a https://ruby.taobao.org/
    gem sources -l (用来检查使用替换镜像位置成功)


3.下载安装CocoaPods
    sudo gem install cocoapods
    或者(如10.11系统)sudo gem install -n /usr/local/bin cocoapods


4.设置pod仓库
    pod setup


5.测试
    【如果有版本号,则说明已经安装成功】
    pod --version


6.利用cocoapods来安装第三方框架
    01 进入要安装框架的项目的.xcodeproj同级文件夹(cd ...)
    02 在该文件夹中新建一个文件podfile(mkdir podfile)
    03 在文件中告诉cocoapods需要安装的框架信息
        a.该框架支持的平台
        b.适用的iOS版本
        c.框架的名称
        d.框架的版本


7.安装
    pod update --no-repo-update
    pod install --no-repo-update




8.说明
    platform :ios, '7.0' 用来设置所有第三方库所支持的iOS最低版本
    pod 'SDWebImage','~>3.7.5' 设置框架的名称和版本号
    版本号的规则:
    '>1.0'    可以安装任何高于1.0的版本
    '>=1.0'   可以安装任何高于或等于1.0的版本
    '<1.0'    任何低于1.0的版本
    '<=1.0'   任何低于或等于1.0的版本
    '~>0.1'   任何高于或等于0.1的版本,但是不包含高于1.0的版本
    '~>0'     任何版本,相当于不指定版本,默认采用最新版本号


9.使用pod install命令安装框架后的大致过程:
    01 分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
    02 下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
    03 生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
    04 整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接。


卸载:sudo gem uninstall cocoapods
查找第三方库: pod search AFNetworking
CocoaPods


不是所有的库都可以由CocoaPods管理 ```objc CocoaPods 是开发 OS X 和 iOS应用程序的一个第三方库的依赖管理工具。利用CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。
CocoaPods 背后的理念主要体现在两个方面。首先,在工程中引入第三方代码 会涉及到许多内容。针对 Objective-C初级开发者来说,工程文件的配置会让人很沮丧。在配置buildphases和linker flags过程中,会引起许多人为因素的 错误。CocoaPods 简化了这一切,它能够自动配置编译选项。


其次,通过 CocoaPods,可以很方便的查找到新的第三方库。当然,这并不是 说你可以简单的将别人提供的库拿来拼凑成一个应用程序。它的真正作用是让你能够找到真正好用的库,以此来缩短我们的开发周期和提升软件的质量。


CocoaPods的原理,它是将所有的依赖库都放到另一个名为Pods项目中,然后 让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中 1、Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a 文件即可。 2、对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本, 该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目 标目录中。 3、CocoaPods通过一个名为Pods.xcconfig的文件来在编译时设置所有的依赖和 参数。 ```


CocoaPods


Podfile.lock文件
保存最后一次更新Pods时, 所有第三方框架的版本号
常用指令的区别
pod install
会根据Podfile.lock文件中列举的版本号来安装第三方框架
如果一开始Podfile.lock文件不存在, 就会按照Podfile文件列举的版本号来安装第三方框架
安装框架之前, 默认会执行pod repo update指令
pod update
将所有第三方框架更新到最新版本, 并且创建一个新的Podfile.lock文件
安装框架之前, 默认会执行pod repo update指令
pod install --no-repo-update
pod update --no-repo-update
安装框架之前, 不会执行pod repo update指令
CocoaPods specs的镜像索引


在使用cocoapods进行update或者install的时候,会去更新获取pod specs。 所有的项目的podspec文件都托管在https://github.com/CocoaPods/Specs上。
第一次执行pod setup时,cocoapods会将这些podspec索引文件更新到本地的 ~/。cocoapods/目录下,
这个索引文件比较大,国内网络的问题,更新非常慢。


网上一个博主http://akinliu.github.io/2014/05/03/cocoapods-specs-/ ,对github上的specs仓库进行了镜像,是每10分钟进行同步一次,基本和主仓库保持一致。


gitcafe和oschina都是国内服务器,在执行索引更新操作时,快很多。


使用方法: pod repo remove master pod repo add master https://gitcafe.com/akuandev/Specs.git pod repo update


如果想用oschina的镜像,可以把第二条命令的地址换成oschina的即可。 pod repo add master http://git.oschina.net/akuandev/Specs.git


如果在pod install、或者pod update时,不想升级specs库,可以增加忽略参数 pod install --no-repo-update pod update --no-repo-update


Podfile.lock


当你执行pod install之后,除了 Podfile 外,CocoaPods 还会生成一个名为Podfile.lock的文件,Podfile.lock 应该加入到版本控制里面,不应该把这个文件加入到.gitignore中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要pod update才会改Podfile.lock了。这样多人协作的时候,可以防止第三方库升级时造成大家各自的第三方库版本不一致。


pod install & pod update区别: 例如:Podfile中,pod ‘SVProgressHUD’,而未指定此开源库版本。pod install,如果SVProgressHUD已存在Pods中,则直接使用它。但是,pod update,会重新下载最新版本到Pods中。

你可能感兴趣的:(iOS,博客)