iOS入门-35CocoaPods安装并使用

一 . 概述

1.1 先看几个概念

  • Cocoa
  • Cocoa Touch
  • CocoaPods
  • Podfile
  • gem
  • Cocoapods 工作原理和源码分析
Cocoa

Cocoa:开发MAC OS X系统中应用程序的开发框架),包含Foundation和AppKit框架。
是Mac OS X上五大开发框架之一,其它四个是Carbon、POSIX、X11和Java。
使用Cocoa编程环境开发的应用程序即为Cocoa 应用。

Cocoa Touch

开发iPhone OS系统的应用程序,包含Foundation和UIKit框架(我们在Xcode中新建file时候,第一个就是Cocoa Touch Class)。

CocoaPods

Cocoa 应用开发所需依赖库管理工具。这是官网https://cocoapods.org。
安装或者升级CocoaPods:
sudo gem install cocoapods

Podfile

Podfile是一个规范,描述了一个或多个一套工程目标的依赖项.了解更多可以参考https://www.jianshu.com/p/b8b889610b7e。

Gem

RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。
Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如http://rubygems.org/)源来查找、安装、升级和卸载软件包,非常的便捷。
Mac OS X中会自带Ruby库,所以可以直接使用gem命令。

Cocoapods 工作原理和源码分析

参看https://www.jianshu.com/p/c17cee5e9c7f,比较简单清晰

1.2 几个概念之间的关系

  • Ruby (脚本语言):种简单快捷的面向对象(面向对象程序设计)脚本语言
  • RVM (Ruby Version Manager):是ruby版本管理的英文缩写。(ruby执行需要ruby解释器,rvm就是管理ruby解释器版本的,安装、卸载、更新、切换 等)
  • RubygGems:是 Ruby 的一个包管理器。它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具,一般的ruby的很多插件都有由这个包提供
  • CocoaPods:Mac OS X和iOS下的一个第三类库管理工具。通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

二. CocoaPods安装

2.1 Ruby版本查询

终端中输入

ruby -v

我的如下,此时我们暂时不去升级ruby的版本,等下面安装CocoaPods的时候报版本过低的时候再升级,如果不报错就是用默认的版本就好了。
在这里插入图片描述

2.2 升级Ruby版本(可以先跳过)

终端中输入,使用命令

brew upgrade ruby

2.3 查看RubyGems版本

终端中输入,使用命令

gem --version

在这里插入图片描述

2.4 升级RubyGems版本

终端中输入,使用命令

sudo gem update --system

在这里插入图片描述

直接输入mac密码,然后回车(输入过程中不会有变化,接着输入就完了,输完点击回车)。

2.5 RubyGems source 域名变更https://gems.ruby-china.com/

下面是源码镜像git地址:https://github.com/ruby-china/rubygems-mirror
由于RubyGems源代码镜像资源地址发生改变,所以如果没有修改mac中的镜像地址,那么在打包时候会出现各种time out。
首先查看mac中RubyGems source 域名。
终端中输入

gem sources

如果如下面,就说明已经修改过了
在这里插入图片描述
如果不是那么说明配置不正确,需要重新配置。
先,移除默认的 gem 源

gem sources --remove https://gems.ruby-china.org/(旧镜像源)

然后,添加新的 gem源

gem sources --add https://gems.ruby-china.com/

最后,查看一下

gem sources

配置gem源完成。

2.6 安装CocoaPods

sudo gem install cocoapods

如果使用这个报错,请使用

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

或者安装最新版本

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

或者安装指定版本

sudo gem install -n /usr/local/bin cocoapods -v (版本号)

然后就是等了,可能需要很长时间。等安装成功之后查看版本。
pod --version

在这里插入图片描述

2.7 使用CocoaPods,添加一个sqlite工具库FMDB

  1. Xcode新建一个项目(或者已经存在了)
  2. 打开终端,输入 cd
  3. 把项目拖入终端,(获取项目路径),回车进入工程目录
  4. 输入 pod init (生成podfile 文件)
  5. 进入工程目录中,打开生成的podfile文件,在标记的地方输入需要的第三方(例如FMDB)
  6. 如果安装的CocoaPods版本为1.8以上,就要切换CDN了,如果不切换在引入第三方库的时候会报CDN错误。(CocoaPods 1.8将CDN切换为默认的spec repo源,并附带一些增强功能!CDN支持最初是在1.7版本中引入的,最终在1.7.2中完成。 它旨在大大加快初始设置和依赖性分析。)
  7. 解决CDN问题(如果CocoaPods版本为1.8以上,以下的就不用了)。首先,podfile文件中添加source ‘https://github.com/CocoaPods/Specs.git’(注意镜像源很可能不能使用,因为每个人的网络环境不一样,所以如果这个镜像源不能使用我们就更换其他的);其次,终端中输入并执行pod repo remove trunk移除trunk源。
  8. 终端中执行pod install ,下载第三方库
    下面是工程目录
    在这里插入图片描述

下面是处理之后的podfile文件

# 下面是指明依赖库的来源地址
source 'https://github.com/CocoaPods/Specs.git'

# Uncomment the next line to define a global platform for your project
# platform :ios, '13.2'

target '33_SqliteDemo' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for 33_SqliteDemo
  # 引入FMDB三方库
  pod 'FMDB'



  #下面是针对测试引入依赖,默认没有依赖东西。
  target '33_SqliteDemoTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target '33_SqliteDemoUITests' do
    # Pods for testing
  end

end

下面是执行pod install之后的终端页面,可能需要很长时间。
在这里插入图片描述

也有可能经过一段时间之后会失败,比如下面情况

提示错误

在这里插入图片描述

说明我们的镜像源有问题了,总是不能下载“包含所有可用三方库信息的仓库”。于是我们选择其他的镜像源地址。
例如下面的:https://mirror.tuna.tsinghua.edu.cn/help/CocoaPods/。其中使用的方法也很详细了,于是接下来的步骤如下:

  • cd ~/.cocoapods/repos
  • pod repo remove master
  • git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
  • 然后将podfile文件中source 'https://github.com/CocoaPods/Specs.git’更换为source ‘https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git’。
  • 进入我们的工程根目录
  • 执行pod install

然后看一下项目根目录,其中多出来不少文件,如下
在这里插入图片描述

此时我们将原来的Xcode工程关闭,然后点击后缀为“.xcworkspace”文件打开Xcode,之后就可以使用了。
不过在使用的过程中可能出现在import头文件的时候出现不能自动提示的可能。解决可参考“xcode import pod 文件不提示“https://www.cnblogs.com/cwy173/p/5584109.html“

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值