美文网首页ios开发整理
【iOS】Carthage的使用方法,顺带CocoaPods

【iOS】Carthage的使用方法,顺带CocoaPods

作者: 软件iOS开发 | 来源:发表于2018-03-16 15:23 被阅读2次

    Carthage和CocoaPods都可以用来管理第三方框架。

    本文的目的是记录一下Carthage的使用方法,不过为了全面一点,也加上了CocoaPods。

    一、Carthage

    Carthage对项目无侵入性,管理的依赖只需编译一次,并且可以与CocoaPods并存。

    注意:Carthage需要iOS 8+

    1. 安装carthage

    1.1 安装Homebrew

    到下面这个网站安装Homebrew

    1

    https://brew.sh/index_zh-cn

    或者直接在终端输入下面的指令

    1

    $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    1.2 更新Homebrew到最新版本

    1

    $ brew update

    1.3 安装Carthage

    1

    $ brew install carthage

    1.4 查看Carthage版本号

    查看版本的同时,也可以验证是否安装成功

    1

    $ carthage version

    2. 使用carthage

    2.1 终端cd到项目所在文件夹

    2.2 创建Carthage文件Cartfile

    1

    $ touch cartfile

    创建Cartfile

    2.3 编辑Cartfile并保存(可以使用Sublime进行编辑)

    例如导入Alamofire,就在文件中写入github "Alamofire/Alamofire" ~> 4.7,如下图所示。

    编辑Cartfile

    2.4 开始导入

    1

    $ carthage update --platform iOS

    成功之后文件夹的结构会变为下图这样。

    注意:如果build文件夹中没有.framework文件,可以到Xcode的Preferences的Locations中,做下图这样的设置。

    2.5 把.framework文件导入项目

    下面三张图展示了添加过程。

    项目名称 --> TARGETS --> General --> Linked Frameworks and Libraries -> Add Other... --> 选择Carthage/Build/iOS/Alamofire.framework文件 --> 导入成功

    2.5.1

    2.5.2

    2.5.3

    2.6 添加Run Script

    参考下面两张图进行操作。

    项目名称 --> TARGETS --> General --> Build Phases --> 点击左上角加号 --> New Run Script Phase --> 点开Run Script --> 在Shell下面的黑色框中填入/usr/local/bin/carthage copy-frameworks --> 点击Input Files下面的加号 --> 为framework添加访问路径$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework --> 完成

    2.6.1

    2.6.2

    2.7 编译项目,完成!

    Command + B编译项目,然后在需要的地方导入头文件,开始使用!

    二、CocoaPods

    1. 安装

    1.1 更新gem到最新版本,终端中输入:

    1

    $ sudo gem update —system

    1.2 删除自带的ruby镜像,终端输入:

    1

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

    1.3 添加镜像,终端输入:

    1

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

    1.4 安装CocoaPods,终端输入:

    1

    $ sudo gem install cocoapods

    1.5 配置CocoaPods,这一步等待时间可能会有点长。终端输入:

    1

    $ pod setup

    2. 使用

    2.1 打开终端,cd到项目路径下。

    2.2 生成Podfile文件,终端输入:

    1

    $ pod init

    2.3 编辑Podfile文件

    在终端输入

    1

    $ vim Podfile

    然后点击键盘上的 i 进入编辑模式,在空白处写上你要用的第三方,例如pod ‘WHKit’,然后依次点击键盘上的esc和冒号,输入wq两个字母,代表保存并退出。

    你也可以直接用外部编辑文字的软件来写Podfile文件(推荐Sublime)

    2.4 安装,终端输入:

    1

    $ pod install

    完成!

    注意: 打开项目的方式发生了改变,以后需要双击.xcworkspace来打开项目。

    3. 补充

    3.1 如何用双引号的方式导入第三方

    打开项目之后就可以直接使用WHKit了,现在可以#import 或#import ,但是却不能#import “WHKit.h”。

    解决这个问题的办法是在工程的Build Settings搜索User header search paths,然后在User header search paths中添加$(SRCROOT)并选择recursive。

    3.2 如果还想添加其他的第三方,只要在Podfile里面接着添加,终端再执行pod install。

    3.3 第三方库一般都有人在维护升级,我们需要隔断时间就更新一下工程中第三方库的版本。只需要终端输入命令pod update。

    3.4 如果遇到pod install或者pod update慢的问题

    原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,速度就会提升不少。命令如下:

    1

    2

    $ pod install --verbose --no-repo-update

    $ pod update --verbose --no-repo-update

    3.5 当我们需要去掉某个第三方库时

    只需要在Podfile删除该引入该库的语句,然后执行pod update或者pod install。

    3.6 删除项目中的cocoapods

    把项目文件中多出来的文件都删掉就可以了,恢复点击Test.xcodeproj的方式来启动程序。

    不过为了项目正常运行,你需要手动导入已经使用的第三方。

    3.7 升级CocoaPods版本

    命令和安装CocoaPods的命令一样:

    1

    $ sudo gem install cocoapods

    如果老版本升级cocoapods的时候提示Operation not permitted - /usr/bin/xcodeproj,改用命令:

    1

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

    3.8 卸载CocoaPods

    1

    $ sudo gem uninstall cocoapods

    当出现Successfully uninstalled cocoapods字样就代表已经成功卸载。

    3.9 升级MacOS导致cocoapods不能正常使用

    如果出现这种情况,首先升级ruby:

    1

    $ sudo gem update --system

    然后重新安装:

    1

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

    后记

    以上就是Carthage和CocoaPods的使用方法。

    相关文章

      网友评论

        本文标题:【iOS】Carthage的使用方法,顺带CocoaPods

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