美文网首页备忘录iOS高能
iOS开发日记-使用CocoaPods管理第三方

iOS开发日记-使用CocoaPods管理第三方

作者: Mr_Ten | 来源:发表于2017-08-01 10:47 被阅读597次

    今年是我毕业的第一个年头,现在的我还有梦想,只是却很少有时间再做梦,上半年开发的新项目上线了一段时间了,前几个周做了几次更新,最近总算开始有些时间,想着把之前的东西总结一下,至少在以后给自己提供一些帮助,只是时间隔了这么久,很多东西的感觉和领悟也记不得了,想起什么写什么,权当给以后的自己留下一份小工具单了。

    现在来写第一部分,俗话说,万事开头难,思来想去确实不知道从哪里开始写,刚好上周末时候蛋蛋来找我问CocoaPods的使用,实在他来的突然,也没给他说明白,就从这里开始入手吧。

    1.关于CocoaPods
    我们在开发过程中肯定会用到很多第三方库,这些库或者框架还有可能会依赖于其他的库和框架,每次都要手动导入,还要注意版本兼容性,有时还需要配置环境变量,实在是麻烦,还有可能会出错导致编译失败,实在是恶心。
    但是没有啥办法,大神们也许都是自己封装库和框架,但是对于我这种小菜,还是需要使用大量的第三方来增加我的开发效率。
    好在有了CocoaPods来做项目依赖工具。

    2.安装CocoaPods
    开始学习使用的时候,网上书上都说了好多东西,更新Ruby环境,换源之类的,我实际使用时倒是很少遇到此类问题,所以简单记录一下使用。

    第一步:找到终端这个自带的应用打开。
    第二步:执行指令:$ sudo gem install cocoapods
    第三步:上一指令运行成功后,执行指令:$ pod setup

    这样其实就可以了,等着从CocoaPods的GitHub库下载就可以了。
    执行第二步的时候,书上说有的会出现报错,虽然没遇到过,不过万一哪天就见鬼了呢,所以还是记录一下。
    换源指令:
    $ sudo gem source --remove https://rubygems.org/
    $ sudo gem source -a https://ruby.taobao.org/

    3.使用CocoaPods搜索库
    这个大概两种方法吧,一个是去网站上搜索,另一个就是再终端直接执行命令搜索。

    第一种:网站搜索
    网址:https://cocoapods.org/

    搜索界面

    直接复制提示框的内容到项目里的Podfile文件里就可以了。

    第二种:终端搜索
    执行指令:$ pod search AFNetworking
    然后下面就把版本和要写到Podfile的东西显示出来了。

    4.使用CocoaPods
    使用网上都是通过终端或者自己在项目里新建一个Podfile出来,然后按照格式写,再安装,我习惯让系统创建出来。

    第一步:打开终端
    第二步:执行指令:$ cd 你的项目的工程目录
    这里的工程目录就是*.xcodeproj文件所在的地方,直接在文件夹找到这里,然后把上一级的文件夹直接拖到终端里,路径自己就出来了。
    第三步:执行指令:$ pod init
    指令执行成功后,会自动生成一个Podfile文本文件,可以直接打开编辑。

    # Uncomment the next line to define a global platform for your project
    platform :ios, '9.0'
    
    target 'Test' do
      # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
      # use_frameworks!
    
      # Pods for Test
      pod 'AFNetworking', '~> 3.0.4'
    
    end
    

    再do和end之间的地方写你要导入的第三方的名称和版本号就可以了,这里用的Objective-C,所以就使用的静态链接库形势。
    第四步:执行指令:$ pod install
    就可以了。

    5.添加新的依赖库
    第一步:执行指令:$ pod setup
    习惯性先更新一下
    第二步:打开Podfile文件,修改do到end之间的内容,保存。
    第三步:执行指令:$ pod install
    又可以了。

    6.其他的
    1.使用CocoaPods之后以后记得打开项目要打开那个白色的*xcworkspace文件。
    2.如果项目中导入头文件时候找不到的话,需要设置一下路径
    选择工程Target -> Build Settings -> 搜索header,找到"User Header Search Paths" -> 新增一个值"$(PODS_ROOT)",并且选择”recursive”,这样Xcode就会在项目目录中递归搜索文件且会自动找到Pods文件,头文件自动补齐功能马上就好使了。

    7.关于pod的install和update的问题
    对于初学者来说,使用 pod install 或者 pod update 并不会影响大局,所以有的人就习惯了一直沿用自己的更新方式。下面就简单介绍一下这两种更新方式的区别。

    (1)pod install:
    这个是第一次在工程里面使用pods的时候使用,并且,也是每次你编辑你的Podfile(添加、移除、更新)的时候使用。

    每次运行pod install命令的时候,在下载、安装新的库的同时,也会把你安装的每个库的版本都写在了Podfile.lock文件里面。这个文件记录你每个安装库的版本号,并且锁定了这些版本。

    当你使用pod install它只解决了pods里面,但不在Podfile.lock文件里面的那些库之间的依赖。对于在Podfile.lock里面所列出的那些库,会下载在Podfile.lock里面明确的版本,并不会去检查是否该库有新的版本。

    (2)pod outdated:
    当你运行pod outdated命令,CocoaPods会列出那些所有较Podfile.lock里面有新版本的库(那些当前被安装着的库的版本)。这个意思就是,如果你运行pod update PODNAME,如果这个库有新的版本,并且新版本仍然符合在Podfile里的限制,它就会被更新。

    (3)pod update:
    当你运行 pod update PODNAME 命令时,CocoaPods会帮你更新到这个库的新版本,而不需要考虑Podfile.lock里面的限制,它会更新到这个库尽可能的新版本,只要符合Podfile里面的版本限制。

    如果你运行pod update,后面没有跟库的名字,CocoaPods就会更新每一个Podfile里面的库到尽可能的最新版本。

    (4)总结:
    你应该使用pod update PODNAME去只更新某个特定的库(检查是否有新版本,并尽可能更新到新的版本)。对应的,你应该使用pod install,这个命令不会更新那些已经安装了的库。

    当你在你的Podfile里面添加了一个库的时候,你应该使用pod install,而不是pod update,这样既安装了这个库,也不需要去更新其它的已安装库。

    你应该使用pod update去更新某个特定的库,或者所有的库(在Podfile的限制中)。

    同时,记得在commit提交代码到远程仓库时,带上Podfile.lock文件。

    8.更新Ruby
    有时候使用 ''pod install''时会出现问题。

    -bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory
    

    很简单,我们更新下Ruby环境就好了。
    打开终端,然后:
    (1)查看当前Ruby版本。

    ruby -v
    

    (2)更新Ruby。

    gem sources --remove https://rubygems.org/ 
    gem sources -a https://ruby.taobao.org/ (把Ruby镜像指向taobao,避免被墙,你懂得)
    gem sources -l  (用来检查使用替换镜像位置成功)
    

    (3)下载安装CocoaPods。

    sudo gem install cocoapods
    

    相关文章

      网友评论

      本文标题:iOS开发日记-使用CocoaPods管理第三方

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