zoukankan      html  css  js  c++  java
  • CocoaPods使用

    测试CocoaPods是否安装成功:

    在终端输:

    pod search + 开源类库的名字

    如:

    pod search AFNetWorking
    

     若安装成功会出现下图所示:

    如果安装失败,点击回车后会报一行红色错误,一般遇到这种情况最笨的办法就是重新安装。

    简单实用创建一个CocoaPods

    1)在桌面上创建一个工程Demo(以Xcode7.3.1创建)。它的文件构成如下:

    2)在这个工程中创建一个Podfile文件(注意:名字必须是Podfile) 

    <1>使用终端创建Podfile文件

    a.使用终端找到当前这个工程文件夹

    $cd Desktop/Demo
    

    b.创建空白的Podfile文件

    $touch Podfile
    

    第二种方法创建Podfile

    <2>使用高级记事本(如:Sublime Text 2)创建Podfile文件

    创建一个空白文件并保存,文件名为Podfile(后面不跟任何字符)

    此时的文件结构如下:

    3)在Podfile文件中写入要使用的第三方框架,这里以AFNetworking为例。打开终端,输入pod search AFNetworking回车,如下图所示,里面显示了AFNetworking这个开源类库的一些基本信息。

    只需要将Podfile文件中书写的那句复制并粘贴到Podfile文件中即可

    1 platform :ios,'8.0 '
    2 target 'CocoaPodsDemo' do
    3     pod 'AFNetworking','~>3.1.0'
    4  end

    Pod文件配置

    解释:
    
    第一行:platform:ios, '8.0' ----->开源类库支持的项目最低系统版本;
    
    第二行和第四行:这是CocoaPods升级1.0.1版本后新增的,单引号中间填写项目工程名,其书写时固定格式,两行中间是开源类库的配置信息;
    
    第三行:这行信息是告诉CocoaPods去下载AFNetworking类库和它的3. 1.0版本,是一条配置信息。
    

    4)将开源类库导入工程中

    <1>使用终端找到当前这个工程文件夹

    $cd Desktop/Demo

    <2>安装第三方开源类库(跟新类库可使用$pod update)

    $pod install

    安装完成如下图所示

    注意:上面绿色的两行内容意思是说:请关闭任何当前Xcode会话和使用的演示,从现在起使用“Demo.xcworkspace”这个项目。
    

    这时再次打开项目文件就会发现多了三个文件,如下图所示:

    5)总结CocoaPods的使用

    <1>在终端搜索相应的开源类库,命令为:$pod search +开源类库;

    <2>打开Podfile文件,修改其中的信息;

    <3>安装(更新)即可,命令为:$pod install(或$pod update)。

    使用CocoaPods的注意点

    (1)从现在起,我们只需要使用后缀名为.xcworkspace的文件来开发;

    (2)第三方类库会被编译成静态库供我们的工程使用,我们可以打开查看源码,但是不能做任何修改;

    (3)笔者在此演示的是一个第三方开源类库的导入,其实多个第三方开源类库的导入是同样的操作,Podfile文件中的书写如下图所示:

                                                                     多个类库的配置

    4)使用CocoaPods删除不用的类库

    前面给大家演示了使用CocoaPods如何导入类库,如果不想使用其中某个类库怎么办呢?

    其实很简单,只要在Podfile文件中将不想用的类库的配置信息删除,并且在终端执行一次pod update命令即可,重新打开就会发现对应的类库已经被移除了。

     

    5)第三方开源类库版本号的各种写法与含义

     1 pod 'AFNetworking' //不显式指定依赖库版本,表示每次都获取最新版本
     2 
     3 pod 'AFNetworking', '2.0' //只使用2.0版本
     4 
     5 pod 'AFNetworking', '>2.0' //使用高于2.0的版本
     6 
     7 pod 'AFNetworking', '>=2.0' //使用大于或等于2.0的版本
     8 
     9 pod 'AFNetworking', '<2.0' //使用小于2.0的版本
    10 
    11 pod 'AFNetworking', '<=2.0' //使用小于或等于2.0的版本
    12 
    13 pod 'AFNetworking', '~>0.1.2' //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
    14 
    15 pod 'AFNetworking', '~>0.1' //使用大于等于0.1但小于1.0的版本
    16 
    17 pod 'AFNetworking', '~>0' //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

     

    6)每次更改了Podfile文件后都需要执行一次$pod

    update命令(此时如果新添加了类库,CocoaPods会下载新添加的类库,并且更新有新版本的类库)。

    (7)CocoaPods的重新安装或者版本更新

    这个有点繁琐,必须先卸载原先的CocoaPods,然后重新执行安装命令即可。其卸载命令为:

    $ sudo gemuninstall CocoaPods
    

    使用CocoaPods导入头文件的常见问题及解决办法

    (1)CocoaPods找不到头文件

    问题描述:使用CocoaPods时,import找不到头文件。

    问题原因:这是因为还没设置头文件的目录。

    解决办法:在项目的Target的里设置一下,添加CocoaPods头文件目录:目录路径直接写:${SRCROOT},后边选择recursive(会在相应的目录递归搜索文件) ,就可以了。

    注意:是在User Header Search Paths里添加,不是上面的Header Search Paths.

    如下图:


    CocoaPods找不到头文件解决方法

    (2)CocoaPods导入头文件不提示

    问题描述:使用CocoaPods时,import导入头文件时,不提示文件名。

    问题原因:这是因为还没设置头文件的目录。

    解决办法:在项目的Target的里设置一下,添加CocoaPods头文件目录:目录路径直接写:$(PODS_ROOT),后边选择recursive (会在相应的目录递归搜索文件),就可以了。

    注意:是在User Header Search Paths里添加,不是上面的Header Search Paths.

    如下图:

    iOS 最新版 CocoaPods 的安装及使用

    144 
    作者 小松wolf 
    2016.07.30 11:26* 字数 2562 阅读 2460评论 8

           当在开发iOS应用时,会经常使用到很多的第三方开源类库,一般的方法是直接从GitHub下载,然后拖到项目中使用,如果该开源类库不依赖其他的类库,就可以直接使用;如果该开源类库还依赖一些其他的类库,则需要我们手动导入并配置,显得十分麻烦。此时第三方开源类库管理工具CocoaPods就显得十分重要了。接下来,就带大家看看CocoaPods的安装及使用:

    一、下载和安装CocoaPods(使用终端)

          在安装CocoaPods之前,首先要在本地安装好Ruby环境,默认情况下,Mac自带Ruby环境。因为Ruby的默认源rubygems.org使用的是亚马逊的云服务,在国内使用会被墙,所以需要更换一下Ruby的源,将其更换为国内淘宝的源。

    1.移除现有Ruby默认源

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

    2.使用新的源

    $gem sources -a https://gems.ruby-china.org

    这部分内容可以访问RubyGems镜像网站

    3.验证新源是否替换成功

    $gem sources -l

    新源替换成功如下图:


    新源替换成功

    4.安装CocoaPods(分Mac系统进行)

    (1)Mac系统:OS X EL Capitan(2015年9月29号发布)及之后

    <1>$sudo gem install -n /usr/local/bin cocoapods

    <2>$pod setup

    (2)Mac系统:OS X 10.10 Yosemite(2014年6月3号发布)及之前

    <1>$sudo gem install cocoapods

    <2>$pod setup

    注意:输入pod setup之后可能会一直卡顿在Setting up CocoaPods master

    repo处,原因是CocoaPods版本升级到1.0.1版本后,其文件有800多兆大,需要慢慢下载。为了查看安装进度,可以另开启一个终端

    (1)输入cd ~/.cocoapods;

    (2)进入.cocoapods之后,输入du –sh查看已下载文件的大小。

    5.更新gem

    $sudo gem update --system

    备注:在输入上面的命令后需要输入密码(Mac电脑的开机密码),直接输入就好,上面的光标不会变化,输入完成后直接确定即可。

    更新完成后显示如下图所示:


    gem更新成功

    二、CocoaPods的使用

    1.测试CocoaPods的功能

          当上面的步骤都做完,需要查看一下CocoaPods是否安装成功(一般会安装成功,不过也不排除一些意外),这时只需在终端输入pod search +开源类库的名字(pod search AFNetworking)回车即可。

    如果安装成功则如下图所示,会显示出相关的所有第三方开源类库。


    CocoaPods测试成功

    如果安装失败,点击回车后会报一行红色错误,一般遇到这种情况最笨的办法就是重新安装。

    2.简单实用CocoaPods(以一个例子来说明)

    (1)在桌面上创建一个工程Demo(以Xcode7.3.1创建)。它的文件构成如下:


    项目基本文件结构

    (2)在这个工程中创建一个Podfile文件(注意:名字必须是Podfile)

    <1>使用终端创建Podfile文件

    a.使用终端找到当前这个工程文件夹

    $cd Desktop/Demo

    b.创建空白的Podfile文件

    $touch Podfile

    <2>使用高级记事本(如:Sublime Text 2)创建Podfile文件

    创建一个空白文件并保存,文件名为Podfile(后面不跟任何字符)

    此时的文件结构如下:


    新增Podfile文件

    (3)在Podfile文件中写入要使用的第三方框架,这里以AFNetworking为例。打开终端,输入pod search AFNetworking回车,如下图所示,里面显示了AFNetworking这个开源类库的一些基本信息。


    类库基本信息

    打开工程文件夹,选择Podfile文件,右击选择文本编辑或者高级记事本打开。

    <1>CocoaPods版本为1.0.1之前

    只需要将Podfile文件中书写的那句复制并粘贴到Podfile文件中即可

    <2>CocoaPods版本为1.0.1及之后书写如下图所示:


    Podfile文件配置

    解释:

    第一行:platform:ios, '8.0' ----->开源类库支持的项目最低系统版本;

    第二行和第四行:这是CocoaPods升级1.0.1版本后新增的,单引号中间填写项目工程名,其书写时固定格式,两行中间是开源类库的配置信息;

    第三行:这行信息是告诉CocoaPods去下载AFNetworking类库和它的3. 1.0版本,是一条配置信息。

    (4)将开源类库导入工程中

    <1>使用终端找到当前这个工程文件夹

    $cd Desktop/Demo

    <2>安装第三方开源类库(跟新类库可使用$pod update)

    $pod install

    安装完成如下图所示


    安装成功信息图

    注意:上面绿色的两行内容意思是说:请关闭任何当前Xcode会话和使用的演示,从现在起使用“Demo.xcworkspace”这个项目。

    这时再次打开项目文件就会发现多了三个文件,如下图所示:


    类库导入效果

    此时按照提示双击Demo.xcworkspace这个文件(不再使用Demo.xcodeproj文件)打开项目,观察右侧导航面板有两个工程,第一个Demo工程是我们正常的开发工程,第二个Pods工程是开源类库依赖工程(使用CocoaPods导入的第三方开源类库都在这里面),如下图所示:


    使用类库项目结构图

    它的文件结构还是很明显的,我们需要特别注意的是AFNetworking已经在项目中了,并且测试是可以使用的(笔者使用Xcode7.3.1开发测试的,鉴于这个版本的提示比较坑,所以在使用时使用<>导入时有提示,但使用””导入时没有提示,不过此时使用何种导入方式都可以,都可以使用AFNetworking类库了,建议使用””导入)。

    (5)总结CocoaPods的使用

    <1>在终端搜索相应的开源类库,命令为:$pod search +开源类库;

    <2>打开Podfile文件,修改其中的信息;

    <3>安装(更新)即可,命令为:$pod install(或$pod update)。

    3.使用CocoaPods的注意点

    (1)从现在起,我们只需要使用后缀名为.xcworkspace的文件来开发;

    (2)第三方类库会被编译成静态库供我们的工程使用,我们可以打开查看源码,但是不能做任何修改;

    (3)笔者在此演示的是一个第三方开源类库的导入,其实多个第三方开源类库的导入是同样的操作,Podfile文件中的书写如下图所示:


    多个类库的配置

    (4)使用CocoaPods删除不用的类库

    前面给大家演示了使用CocoaPods如何导入类库,如果不想使用其中某个类库怎么办呢?其实很简单,只要在Podfile文件中将不想用的类库的配置信息删除,并且在终端执行一次pod update命令即可,重新打开就会发现对应的类库已经被移除了。

    (5)第三方开源类库版本号的各种写法与含义

    pod 'AFNetworking' //不显式指定依赖库版本,表示每次都获取最新版本

    pod 'AFNetworking', '2.0' //只使用2.0版本

    pod 'AFNetworking', '>2.0' //使用高于2.0的版本

    pod 'AFNetworking', '>=2.0' //使用大于或等于2.0的版本

    pod 'AFNetworking', '<2.0' //使用小于2.0的版本

    pod 'AFNetworking', '<=2.0' //使用小于或等于2.0的版本

    pod 'AFNetworking', '~>0.1.2' //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0

    pod 'AFNetworking', '~>0.1' //使用大于等于0.1但小于1.0的版本

    pod 'AFNetworking', '~>0' //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

    (6)每次更改了Podfile文件后都需要执行一次$pod

    update命令(此时如果新添加了类库,CocoaPods会下载新添加的类库,并且更新有新版本的类库)。

    (7)CocoaPods的重新安装或者版本更新

    这个有点繁琐,必须先卸载原先的CocoaPods,然后重新执行安装命令即可。其卸载命令为:

    $ sudo gemuninstall CocoaPods

    4.使用CocoaPods导入头文件的常见问题及解决办法

    (1)CocoaPods找不到头文件

    问题描述:使用CocoaPods时,import找不到头文件。

    问题原因:这是因为还没设置头文件的目录。

    解决办法:在项目的Target的里设置一下,添加CocoaPods头文件目录:目录路径直接写:${SRCROOT},后边选择recursive(会在相应的目录递归搜索文件) ,就可以了。

    注意:是在User Header Search Paths里添加,不是上面的Header Search Paths.

    如下图:


    CocoaPods找不到头文件解决方法

    (2)CocoaPods导入头文件不提示

    问题描述:使用CocoaPods时,import导入头文件时,不提示文件名。

    问题原因:这是因为还没设置头文件的目录。

    解决办法:在项目的Target的里设置一下,添加CocoaPods头文件目录:目录路径直接写:$(PODS_ROOT),后边选择recursive (会在相应的目录递归搜索文件),就可以了。

    注意:是在User Header Search Paths里添加,不是上面的Header Search Paths.

    如下图:

    参考资料:CocoaPods 的安装与使用

  • 相关阅读:
    yii2 gii 命令行自动生成控制器和模型
    控制器中的方法命名规范
    Vue Property or method "" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based
    IDEA插件:GsonFormat
    Spring Boot : Access denied for user ''@'localhost' (using password: NO)
    Typora添加主题
    Git基础命令图解
    Java Joda-Time 处理时间工具类(JDK1.7以上)
    Java日期工具类(基于JDK1.7版本)
    Oracle SQL Developer 连接Oracle出现【 状态: 失败 -测试失败: ORA-01017: invalid username/password; logon denied】
  • 原文地址:https://www.cnblogs.com/EchoHG/p/7136046.html
Copyright © 2011-2022 走看看