美文网首页
Xcode使用第三方库-Cocoapods

Xcode使用第三方库-Cocoapods

作者: Noah牛YY | 来源:发表于2015-12-22 18:16 被阅读1950次

    说起这个,作者简直要泪奔啊,从着手安装cocoapods到安装成功,开始是用第三方库简直就是一路爬过来,各种问题变着花样儿玩我,but,最后能解决,算是感谢网上各种大神的帖子和群友的帮助,下面开始介绍怎么安装吧:

    1、升级Ruby环境

    首先参考的是这个帖子:史上最详细的CocoaPods安装教程

    终端输入:(应该知道终端是什么吧,实用工具里边,终端)

    gem update --system
    

    此时会出现

    ERROR: While executing gem ... (Gem::FilePermissionError)
    You don‘t have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
    zijingMacBook-Pro:~ shiyunlei$ sudo gem update —system

    这个是因为你没有权限去更新Ruby
    这个时候你可以在终端使用下面命令来进行升级

    sudo gem update —system
    
    20141022164653840.jpg

    这个时候表示Ruby升级完成。

    2.安装cocoapods

    参考帖子:史上最详细的CocoaPods安装教程CocoaPods安装和使用及问题:Setting up CocoaPods master repo

    假如你在本地已经安装好Ruby环境,那么下载和安装CocoaPods将十分简单,只需要一行命令。

    sudo gem install cocoa pods
    

    但是,且慢。如果你在天朝,在终端中敲入这个命令之后,会发现半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。

    但是,是的,又但是(不过是个可喜的“但是”)。我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:

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

    等有反应之后再敲入以下命令

    $ gem sources -a https://ruby.taobao.org/
    

    为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:

    $ gem sources -l
    

    只有在终端中出现下面文字才表明你上面的命令是成功的:


    这时候如果你看了作者参考的博文,细心的你会发现,有一条命令中作者多加了一个s.没错 就是:

     gem sources -a https://ruby.taobao.org/
    

    作者参考的博文可能比较老了,现在淘宝的镜像已经更换了,现在使用的是https,不是http,作者卡在这里好久,所以你按照作者的命令输入就对了

    接着继续往下走,输入命令

    sudo gem install cocoapods
    

    这时候问题来了,作者参考的博文就这么过去了,但是我出现了

    ERROR: While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/xcodeproj

    简直脑袋爆炸,找了良久,看到简书上一个好友的分享:OS X 10.11的“坑”,解决了,如下:
    其实这个错误是与Mac系统的Rootless权限问题有关系,OS X 10.11之后的系统,用户使用sudo获取最高权限,实际上该权限并不能对文件执行read、write等操作,用户需要关闭系统的Rootless权限,才能通过sudo命令对文件进行最高权限操作,下面附上具体关闭Rootless权限的方法:

    1、开机按住Command + R键,让电脑进入恢复模式

    2、打开终端,在终端中键入:csrutil disable 并回车

    3、重新启动电脑进入普通模式即可。

    这时你在终端输入cocoapods的下载命令发现之前的错误已经和你say goodbye了。

    如果你得问题依旧没有解决的话,OS X 10.11的“坑”里还有一些解决办法,可以参考,另外这里,也是一种方法,多尝试,总有方法可以解决。

    cocoapods安装好了之后执行命令

    pod install 
    

    出现Setting up CocoaPods master repo,说明Cocoapods在将它的信息下载到 ~/.cocoapods里;cd 到该目录里,用du -sh *命令来查看文件大小,每隔几分钟查看一次,这个目录最终大小是100多M,就是完成了

    没错。作者又出现问题了,可能是学校的网太垃圾,我就卡在了Setting up CocoaPods master repo,不会动 不会动,一个晚上了 ,于事无补,无奈之下,继续百度,然后就找了cocoapods时遇到pod setup失败的解决办法,帖子中又很多中方法,作者这里介绍我解决的方法:

    • 下载楼主提供的文件pod setup失败的解决方法(提取码:d3a6)解压之后
    • 问题来了,如果你按照解压包中的说明可以进行的话就跳过下个步骤的内容,如果你和作者一样苦逼,那就继续看吧
    • 我找不到repos文件夹!ctrl+space搜索不到,但机智如我,我看到了repo文件夹,将master解压放进repo文件夹(直接用ctrl+space,然后输入repo找到就行了),继续
    • 复制了master之后,终端执行命令
    pod setup
    

    完成,终于完成,

    3.使用cocoapods

    参考文章:CocoaPods安装和使用及问题:Setting up CocoaPods master repo

    你可以按照参考文章中的步骤来,也可以按照作者的来,我看过好多的介绍都是用的参考文章中得库,但我用了SwiftHTTP库

    场景1:利用CocoaPods,在项目中导入SwiftHTTP库

    为了确定SwiftHTTP是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:

    $ pod search SwiftHTTP
    

    过几秒钟之后,你会在终端中看到关于SwiftHTTP类库的一些信息。比如:

    屏幕快照 2015-12-22 下午5.53.01.png

    这说明,SwiftHTTP是支持CocoaPods,所以我们可以利用CocoaPods将SwiftHTTP导入你的项目中。

    首先新建项目,SwiftHTTPDemo,目录结构是这样的,但是名字不是这个,看结构就好 :



    下面是参考博文中对podfile的解释:

    你看到这里也许会问,CocoaPods为什么能下载AFNetworking呢,而不是下载其他类库呢?这个问题的答案是,有个文件来控制CocoaPods该下载什么。这个文件就叫做“Podfile”(注意,一定得是这个文件名,而且没有后缀)。你创建一个Podfile文件,然后在里面添加你需要下载的类库,也就是告诉CocoaPods,“某某和某某和某某某,快到碗里来!”。每个项目只需要一个Podfile文件。

    然后我们先创建这个PodFile。在终端中进入(cd命令)你项目所在目录(如果你不知道bash命令,这个对你有帮助:mac终端上的bash命令),然后在当前目录下,利用vim创建Podfile,运行:

    vim Podfile
    

    这个时候会进入vim模式,粘贴下面代码,

    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '8.0'
    use_frameworks!
    
    pod 'SwiftHTTP', '~> 1.0.0'
    

    这段代码的来源,是github上SwiftHTTP库的说明,那么这个库的github地址在哪里呢,刚才我们search时候出现的文字中就有,读者可以自己找找便是

    粘贴了之后保存退出。vim环境下,保存退出命令是:

    :wq
    

    输入命令之前按esc切换到命令行

    这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。

    这时候,你就可以利用CocoPods下载swiftHTTP类库了。还是在终端中的当前项目目录下,运行以下命令:

    $ pod install
    

    因为是在你的项目中导入AFNetworking,这就是为什么这个命令需要你进入你的项目所在目录中运行。

    运行上述命令之后,终端出现以下信息:


    屏幕快照 2015-12-22 下午6.04.19.png

    注意最后一句话,意思是:以后打开项目就用 CocoaPodsDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。

    你也许会郁闷,为什么会出现.xcodeproj文件呢。这正是你刚刚运行$ pod install命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。 点击 CocoaPodsDemo.xcworkspace 打开之后工程之后,项目Xcode目录结构如下图:

    屏幕快照 2015-12-22 下午6.05.49.png

    这时候,在viewcontrollor中就可以import SwifHTTP了,如果你和作者一样不幸,那么你就会出现红色叹号,这时候不要着急,如果你又和作者一样幸运,按组合键ctrl+b编译之后,就不会有问题了,

    至此,cocoa pods的安装和使用终于结束,百般周折终于完成,

    下面是作者在安装使用过程中百度到的有用的地址,如果你按照我的方法还是不幸,不放试试下面地址中得方法:

    1. mac终端上的bash命令
    2. cocoaPods时遇到pod setup失败的解决办法
    3. CocoaPods安装和使用及问题:Setting up CocoaPods master repo
    4. OS X 10.11的“坑”
    5. pod安装失败
    6. 史上最详细的CocoaPods安装教程
    7. 关于Cocoapods更新的问题!淘宝的域名不可用了?
    8. OS X 10.11 安装Cocoapods 出现有关问题的解决办法

    不说了,作者买袋辣条冷静一下。

    相关文章

      网友评论

          本文标题:Xcode使用第三方库-Cocoapods

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