美文网首页iOS Developer程序员ios
CocoaPods1.4.0 安装使用详解

CocoaPods1.4.0 安装使用详解

作者: 正直的瓜子脸 | 来源:发表于2018-04-09 10:27 被阅读589次

    CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库,轻松管理第三方库的版本。

    CocoaPods安装步骤

    1. 查看Ruby版本,升级Ruby环境

    CocoaPods是基于ruby ecosystem的,需要ruby环境,使用ruby的gem命令。所以我们的系统要有ruby环境。然而Mac系统默认会安装好ruby环境。可在终端ruby -v查看ruby版本:
    先查看一下ruby的版本

    //查看ruby版本
    ruby -v 或者 ruby --version
    //输出信息
    ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]
    

    看能不能直接升级系统的gem
    gem update --system
    如果不行,看能不能直接更新rubygems
    sudo gem install rubygems-update
    如果失败

    ERROR:  While executing gem ... (Errno::EPERM)
        Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
    

    则执行
    sudo gem install -n /usr/local/bin cocoapods

    2. 更换Ruby镜像

    gem sources -l查看ruby源

    8089AA51-4E5B-4014-8A68-1E0943FCDFD9.png
    发现这是国外的源,在中国是被屏蔽了的,所以要替换为国内的源
    移除国外的源gem sources --remove https://rubygems.org/
    添加国内的源gem sources -a https://gems.ruby-china.org/
    gem sources -l查看是否替换成功
    *** CURRENT SOURCES ***
    
            https://gems.ruby-china.org/
    
    3. 安装CocoaPods

    sudo gem install cocoapods
    报错:
    ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/bin directory.
    说明是一些系统权限的原因,换成
    sudo gem install -n /usr/local/bin cocoapods就行了。

    932A9DC9-A623-457E-95AB-14611FD45C90.png
    4. 更新索引仓库

    pod setup把最新的类库信息拉取到本地spec文件,因为CocoaPods每次查找类库是从本地查找的,如果要保持查找到的类库是最新的,需要更新索引仓库。这个过程会比较慢。
    然后你会看到出现了Setting up CocoaPods master repo,卡住不动了,说明Cocoapods在将它的信息下载到 ~/.cocoapods里。 你可以command+n新建一个终端窗口,执行cd ~/.cocoapods/进入到该文件夹下,然后执行du -sh *来查看文件大小,每隔几分钟查看一次,这个目录最终大小是900多M(我的是930M) 当出现Setup completed的时候说明已经完成了。

    66BE7170-B519-4E12-9670-DA77EE7082FB.png
    5. 查看pod版本

    pod --version

    6. 查找第三方库

    输入pod search AFNetworking,则能查找到相应第三方库,如下:

    FBEC6FEA-035B-4BF4-9BE5-0F05753D30AA.png
    按q即可退出
    如果搜索不到
    1、请先进行:pod setup
    2、再清空一下搜索索引,让pod重建索引:
    rm ~/Library/Caches/CocoaPods/search_index.json
    这是因为之前pod search的时候生成了缓存文件search_index.json
    然后再次输入pod search AFNetworking进行搜索
    
    7. 创建Podfile文件

    新建一个工程,cd到工程根目录下,pod init会创建一个podfile文件,
    vim Podfile,按i进入编辑模式,ESC退出编辑,然后冒号,再wq就可以退出podfile文件了。
    双击podfile文件,直接粘贴第三方库内容进去,保存。
    用cocoapods 导入swift 框架,必须要 use_frameworks!。
    use_frameworks!使用 dynamic frameworks 来取代 static libraries 方式.

    source 'https://github.com/CocoaPods/Specs.git'
    platform :ios, '10.0'
    use_frameworks!
    
    target 'SwiftUIDemo' do
    pod 'MJRefresh', '~> 3.1.15.3'
    pod 'Alamofire', '~> 4.7.1'
    pod 'SDWebImage', '~> 4.3.3'
    end
    
    8. 安装第三方库

    pod install安装所有再podfile文件中的类库,如图

    C6DE5A21-86D1-4540-AE1F-8C2BD8645A08.png

    执行完成之后,工程根目录下就会出现一个.xcworkspace的文件,点击就能打开工程了。

    ******* 扩展 *******

    1、 再swift项目中引入OC库,需要创建一个桥接文件

    1. command + n 选择Header File,取一个名字,比如BridgingHeader.h
    2.配置桥接文件路径(路径也可以在前面加上$(SRCROOT)/作为相对路径),如图:

    18830CF8-DB53-409B-88F8-E5C2AE89661D.png
    2 、配置Search Paths

    我们在桥接文件导入第三方库头文件的时候,发现报错,提示找不到头文件,这是因为pod的文件和桥接header文件不是在同一个目录下面,所以需要配置User Header Search Paths。
    在target->Build Setting里面找到search Paths,双击User Header Search Paths后面空白的地方,设置目录的路径${SRCROOT},然后选择后面的recursive,如图:


    image.png

    这样,在桥接文件里就可以成功的导入第三方库的头文件了。

    相关文章

      网友评论

        本文标题:CocoaPods1.4.0 安装使用详解

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