首页 > 其他分享 >iOS开发笔记 - 用CocoaPods管理第三方库

iOS开发笔记 - 用CocoaPods管理第三方库

时间:2023-06-20 14:34:03浏览次数:48  
标签:安装 Ruby iOS 笔记 pod CocoaPods 第三方 gem


在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确配置这些第三方库会非常的繁琐,还好我们有CocoaPods来做这件事情,就如同在Java的世界里有Maven和Gradle,当然Maven的作用不仅仅是第三依赖库管理。通过CocoaPods工具我们可以为项目添加被称为"Pods"的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

  CocoaPods意义体现在两个方面。第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、链接器选项、甚至是ARC环境下对某些使用MRC的类设置-fno-objc-arc等;第二,使用CocoaPods可以很方便地查找新的第三方库,这些第三方库是更规范的或是知名的第三方库,这样可以让我们找到真正好用的第三方库。

安装Ruby环境

查看Mac是否安装Ruby和Gem

在终端中输入命令:ruby --versiongem --version

输出如下类似提示符,则表示Ruby环境已安装

$ ruby --version
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14]
$ gem --version
2.5.1

说明:Ruby是日本人松本行弘发明的编程语言,它对面向对象和函数式编程都提供了很好的支持,而且有很高的开发效率。Gem是一个用于对Ruby组件进行打包的打包系统,它提供了分发Ruby程序和库的标准格式,还提供一个管理程序包安装的工具,CocoaPods就是用Ruby编写的第三方依赖库管理工具,可以通过gem来安装。如果系统中没有Ruby环境,那么可以先安装,具体的做法可以自己搜索一下。

安装CocoaPods

我们先将默认的gem源修改成淘宝的镜像,原因你懂的!

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/

为了验证你的Ruby镜像已经修改为淘宝镜像(只能保留淘宝镜像),可以用以下命令查看,而且必须看到如下所示的输出。

$ gem sources -l
* CURRENT SOURCES *
https://ruby.taobao.org/

提示:如果出现多个源就需要将其他的源删除。

终端中执行安装CocoaPods

$ sudo gem install cocoapods

执行完成后,需要初始化CocoaPods的环境

$ pod setup

提示:以上两步可能会花费较多的时间,跟你的网络状况有很大关系。

使用CocoaPods

  1. 创建Xcode项目并在终端中切换到该项目路径
  2. 使用命令pod init在当前文件夹下生成一个Podfile文件
  3. 编辑该文件,在该文件中输入如下信息:
$ vim Podfile

iOS开发笔记 - 用CocoaPods管理第三方库_CocoaPods


  该文件中的命令格式为:pod '第三库名称', '版本号',第三库名称一定要正确,否则分分钟安装失败。版本号书写的规则如下所示:

- >= 1.0 至少版本为1.0

- ~> 1.0 兼容1.0版本的最新版

- == 1.0或1.0都表示指定版本

4. 安装工程依赖的第三方库

$ pod install

如果命令执行后出现pods installed字样表示安装成功。

5. 关闭Xcode工程,在项目路径下打开.xcworkspace文件(工作空间文件),此时工作空间中除了你创建的项目外,还有一个名为Pods的项目,其中包含了你需要的第三方库,而且底层依赖库、编译标记、链接符号等都已经设置好了。

iOS开发笔记 - 用CocoaPods管理第三方库_依赖库管理_02


6. 如果要在你的项目中使用第三方库如AFNetworking,则只需要#import <AFNetworking.h>即可,如果要添加其他的第三方库,可以直接修改Podfile文件,然后再次执行$ pod install即可;如果修改了要使用的第三方库的版本,也可以执行$ pod update进行更新操作。

说明:可以在Xcode中安装CocoaPods插件,这样可以在Xcode中直接通过菜单完成各种操作而不用在终端中键入命令。

  如果你愿意也可以使用Carthage来取代CocoaPods,Carthage是一个去中心化的依赖库管理工具,和CocoaPods不同它对原有的项目没有侵入性,你只需要在项目中添加由Carthage生成的Framework文件,然后在"Build Settings"中的"Framework Search Path"项加入$(SRCROOT)/Carthage/Build/iOS路径,Xcode便会自动搜索目录下的 Framework文件,完成对依赖库的安装,具体的做法可以参考互联网上的其他资料。

参考链接

  1. http://code4app.com/article/cocoapods-install-usage
  2. http://www.isaced.com/post-265.html


标签:安装,Ruby,iOS,笔记,pod,CocoaPods,第三方,gem
From: https://blog.51cto.com/u_16166070/6522344

相关文章

  • iOS开发笔记 - App上架流程(视频分享)
    具体的文档可以看一下我的《iOS开发笔记-上线流程》iOS项目上线流程视频百度云盘分享下面是一些相关的官方文档:https://developer.apple.com/app-store/review/guidelines/-项目审核指南http://www.apple.com/legal/intellectual-property/guidelinesfor3rdparties.htmlhttps......
  • 前端学习笔记_思维导图和资源链接
    17素材资源jQueryapi中文文档脑图-前端总结脑图-jquery总结脑图-js正则总结后台主题框架echartsjQuery插件adminlte......
  • FPGA电机控制源码(verilog+nios2架构)FPGA电机控制源码, 方案为单FPGA方案才用底层ver
    FPGA电机控制源码(verilog+nios2架构)FPGA电机控制源码,方案为单FPGA方案才用底层verilog+应用层nios2的软件架构,很具有学习价值。包括编码器模块算法,坐标变换算法,矢量调制算法等等。注:此代码不适合新手小白。FPGA电机控制源码是一个用于控制电机的程序代码,采用了FPGA(现场可......
  • iOS开发系列课程预告
    最近在Mac和iOS上做开发,觉得应该写一点东西分享给感兴趣的童鞋们。在此之前,曾经有很多同行们都在埋怨苹果Objective-C的复杂和难以上手,为此也有很多人对今年(2014年)刚推出的Swift抱有很多幻想。首先在现阶段甚至五年以内,我个人感觉Mac和iOS的开发可以说仍然离不开Objective-C,即便是......
  • 《代码整洁之道》读书笔记
      最初我喜欢这本书可能是因为非技术方面的原因,这本书中有很多我喜欢的插图。这本书的第一章的第一句话是这样说的:读这本书通常有两个原因:1.你是一名程序员。2.你想成为更好的程序员。我们需要更好的程序员。  这本书的每一章都可以总结出一句话,其实每章开始的插图就是这句......
  • Palera1n越狱简体中文,iOS15.0~16.5越狱支持Mac/Linux/U盘多平台
    Palera1n越狱简体中文,iOS15.0~16.5越狱支持Mac/Linux/U盘多平台中文教程:https://dkxuanye.cn/?p=6813官方文档:https://github.com/palera1n/palera1n/releases......
  • win10笔记本点击设置-系统卡住,没反应
    1、按Windows+x打开超级菜单,点击“命令提示符(管理)成员)”;2、键入以下命令:sfc/SCANNOW 3、如果检测到问题但无法修复,请使用以下命令:Dism/Online/Cleanup-Image/ScanHealth4、该命令会扫描所有系统文件,与官方系统文件进行对比,对电脑进行不一致扫描。Dism/Online/Cleanup......
  • 【Coursera学习笔记】 Executive Data Science(A Crash Course in Data Science)
    文章目录1.Whatisstatisticsgoodfor?1.1Statistics2.Whatismachinelearning?2.1Twomainactivitiesofmachinelearning2.2SomecharacteristicsofML3.WhatisSoftwareEngineeringforDataScience?3.1TypesofSoftware4.TheStructureofaDataScience......
  • 【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)
    前言我发现自己之前可能是有点走偏了,花了两天时间看书几乎一无所获,书上都是代码实现,还没有相应的注释…今天我用ui设计师界面来进行编程,写一个小界面。界面功能1.计算加法;2.可以弹窗;3.使用布局,美化界面;4.退出按钮;界面预览实现1.建立一个QtWidgetsApplication可以参考QT5项目......
  • DRBD 笔记
    概念简介块级别的同步方案热备,理解为网络Raid1可支持双主复制模式,需要使用集群文件系统支持的类型磁盘,或磁盘分区软Raid设备LVM逻辑卷任何块设备,包括内存盘RAMDISK角色Primary-主Secondary-从IO请求流程和协议用户向FileSystem发送IO请求FileSystem接收......