美文网首页
swift开发笔记:使用cocoapods导入第三方框架

swift开发笔记:使用cocoapods导入第三方框架

作者: 猫留下你走吧 | 来源:发表于2017-08-31 12:41 被阅读50次

    前言

    开发 iOS 项目不可避免地要使用第三方开源库,CocoaPods 的出现使得我们可以节省设置和更新第三方开源库的时间。

    - 1 - 打开终端
    cd /项目路径
    

    如图:
    cd之后把项目拖进终端

    QQ20170831-114302.png
    - 2 - 创建Podifle文件
    pod init
    

    这时候项目会出现一个Podfile文件


    QQ20170831-114841.png
    - 3 - 打开Podfile文件

    将Podfile拖入Xcode当中(重要的事情多说一遍,打开项目的先关闭项目,拖入到Xcode中,不是直接打开!!!)

    QQ20170831-115146.png
    - 3 - 添加我们需要导入的第三方框架

    把初始化的文件部分代码注释去掉和删掉,大概如下格式:

    # Uncomment the next line to define a global platform for your project
    platform :ios, '9.0'
    use_frameworks!
    
    target 'VarietyMarketDemo' do
    
    # 第三方框架:Alamofire
    pod 'Alamofire'
    
    # 第三方框架:SwiftyJSON
    pod 'SwiftyJSON'
    
    end
    

    导入框架的格式:

    pod '框架名称'
    
    - 4 - 框架安装

    暂时不用关闭Podfile,终端输入:

    pod install --no-repo-update
    

    命令解释:使用其它教程的命令:pod install等可能会卡在了Analyzing dependencies不动,因此用该命令准没错,速度也会提升不少
    安装成功

    Analyzing dependencies
    Downloading dependencies
    Installing Alamofire (4.5.0)
    Installing SwiftyJSON (3.1.4)
    Generating Pods project
    Integrating client project
    
    [!] Please close any current Xcode sessions and use `VarietyMarketDemo.xcworkspace` for this project from now on.
    Sending stats
    Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.
    

    看最后一句话即可,两个框架都已经被安装。如果首次安装框架,则会下载框架,需要稍等一会儿, 如果之前在其他项目中已经安装过框架,cocoapods会直接使用原来下载过的框架。

    - 5 - 打开项目

    从Finder进入项目,打开.workspace文件进入项目
    (注:通过cocoapods导入的项目,都是通过.workspace文件进入项目,就不用通过.xcodeproj文件进入了)

    QQ20170831-122400.png
    - 6 - 编译

    Command + B 编译一下就大功告成

    提示:

    通过.workspace进入后和原来的项目不一样,其实就多了一层目录结构,如图:

    QQ20170831-123034.png

    如果遇到这样一个需求:我又需要导入一个第三方框架,我们只需要按照步骤3,再pod '框架名称',按照下面的步骤最后编译一下即可。

    结束语

    后续还会有关于Alamofire、SwiftyJSON的基本使用,如果教程对你有帮助,欢迎关注我的简书

    相关文章

      网友评论

          本文标题:swift开发笔记:使用cocoapods导入第三方框架

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