Cocoa依赖管理器 -- 去中心化的Carthage & Cocoapods

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_19678579/article/details/77528462

一. Carthage

1. Carthage简单介绍

  • 主页: https://github.com/Carthage/Carthage

  • 目标:用最简单的方式来管理Cocoa第三方框架

  • 性质:第三方框架管理工具(类似于cocoapods) Carthage为用户管理第三方框架和依赖,但不会自动修改项目文件和生成配置,把对项目结构和设置的控制权交给用户。
  • 原理:自动将第三方框架编程为Dynamic framework(动态库)
  • 限制:仅支持iOS8+。它只支持框架,所以不能用来针对iOS8以前的系统版本进行开发


2. Carthage和cocoapods 的区别

  • 1)使用了CocoaPods的项目是高度集成的,而Carthage更灵活强调尽可能将任务委托给Xcode和Git。

    • “CocoaPods在使用中会自动创建和更新workspace、依赖和Pod项目并进行整合;

    • “Carthage在使用中不需要创建和集成相应的workspace和project,只需要依赖打包好的framework文件即可。

    • “总结一下,CocoaPods的方法更容易使用,而Carthage更灵活且对项目没有侵入性。
  • 2)CocoaPods相对来说功能要比Carthage多很多,因此也更复杂,而CocoaPods配置简单项目干净。

  • 3)CocoaPods有一个中心仓库,而Carthage是去中心化的,没有中心服务器也就避免了可能因中心节点错误而带来的失败,即Carthage每次配置和更新环境,只会去更新具体的库,时间更快。
  • 4)想让自己的第三方库支持Carthage比让其支持CocoaPods更加的简单。
  • 5)Carthage的不足:

    ① 库依然不如 CocoaPods 丰富
    
    ② 仅支持iOS8+
    
    ③ 工具尚且不如cocoapods晚上(已经发布了app)
    
    ④ 在使用第三方库的过程中无法查看源码
    


3. Carthage的安装和使用

  • 1)安装

    • ① 直接下载Carthage.pkg安装包,安装运行

    • ② 或者打开终端,使用指令安装

      $ brew update
      $ brew install carthage


      你安装好Carthage后,在终端执行:
      $ carthage version

  • 2) 在项目中使用carthage

    • 1、通过终端进入到项目所在的文件夹:
      $ cd ~/Path/Project

    • 2.创建一个空的carthage文件
      $ touch Cartfile

  • 3.使用xcode打开cartfile文件 or 使用命令打开后编辑 cartfile 文件

    • $ open -a Xcode Cartfile
    • 并在打开的文件中加入以下内容:
      github "框架名称"
    • 或者使用框架在 GitHub 上的地址
      git "https://github.com/框架名称.git"
  • 4)保存并关闭cartfile文件,使用cartfile安装框架
    $ Carthage update --platform iOS

  • 5) 打开Carthage 查看生产的文件目录
    $ open Carthage
    这里写图片描述

    文件目录说明:
    “~/Carthage/Checkouts目录:从github获取的源代码
    “~/ Carthage/Build目录:编译出来的Framework二进制代码库

  • 6) 配置项目

    现在打开你的项目,点击project,选择target, 再选择上方的General,将需要的framework文件拖到 Linked frameworks and Binaries内

    这里写图片描述

  • 7)添加编译的脚本(该脚本文件保证在提交归档时会对相关文件和dSYMs进行复制)
    这里写图片描述

  • 8)已经导入的第三方库了,可以在项目中使用第三方库
    #import "框架名称"



4. 卸载/更新 Cartage:

  • 卸载Carthage:
    $ brew uninstall Carthage

  • 更新第三方框架:

    • 更新多个框架:修改Cartfile文件,并重新执行
      $ Carthage update
    • 更新某个框架:
      $ Carthage update 具体的框架名称


5. Carthage的工作过程说明

① 创建一个Cartfile文件,在该文件中列出您想使用的框架

② 运行Carthage,获取并编译Cartfile文件中列出的框架

③ 把框架的二进制文件配置到项目中






二. Cocoapods

这里写图片描述

这里写图片描述

1. (更新)

如果在执行sudo gem install cocoapods的时候报以下错误:

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

并且你的操作系统是EI Caption,可是尝试使用以下方法来代替上面的安装命令:

$ sudo gem install -n /usr/local/bin cocoapods

使用:

1.搜索cocoapods是否支持要使用的第三方类库

pod search SDWebImage
(可以把pod 'SDWebImage', '~> 3.7.3'  有关版本号的代码 复制一下)

2. 切换到工程目录路径下 cd 路径

创建一个Podfile文件
vim Podfile
按下“i”键,进入文件编辑模式(insert模式)插入模式
platform:ios,’7.0’
pod 'SDWebImage', '~> 3.7.3'

完成之后 ,按下esc,:wq 保存并退出

or 打开 Podfile 文件直接编辑

3. 安装Podfile文件

pod  install
成功之后,再次运行工程,就要使用.xcworkspace(白色文件)打开工程

4. 如果再次在Podfile文件中增加其他类库的依赖,完成之后,需要更新 Podfile

pod  update 

使用别人带有cocoapods管理依赖的工程

1.cd 路径   (切换到工程路径下)
2.pod  update (命令)

猜你喜欢

转载自blog.csdn.net/qq_19678579/article/details/77528462