iOS 开发Cocoapods的那些事你真的知道吗?满满的干货

简介

1.Cocoapods的解释

Cocoapods是一个类库管理工具,它可以很方便的查找、下载最新的第三方库,能够找到真正好用的库,以此来缩短我们的开发周期和提升软件的质量,解决了库与库之间的依赖关系,让我们能自动化的、更直观的管理第三方库,但是Cocoapods不易操作,它必须要有自己的运行环境,而且要牢记终端命令行的指令。

2.cocopods的优缺点

优点:①可以很方便的查找到新的第三方库,能够找到真正好用的库,以此来缩短我们的开发周期和提升软件的质量。②解决了库与库之间的依赖关系,让我们能自动化的、直观的管理第三方开源库;
缺点:不易操作,需要牢记终端命令行的指令;
建议:如果所需的第三方多的话用Cocopods

3.如何配置

1.首先需要在我的电脑上安装CocoPods的运行环境.
2.通过终端,命令行,下载,更新我所需要的第三方,下载到本地,通过脚本文件的运行继承到我们的项目中去,提供给我们使用,不需要再重新配置
3.当第三方的版本变化时,我也可以通过Pod install/update 对我的第三方库进行安装以及实时更新

Cocoapods 安装步骤:

3.1安装需要用到Ruby,虽然Mac自带了Ruby,不过版本有点老了,最好更新一下

$sudo gem update --system

如果出现报错:
Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
解决办法:

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

3.2查看Ruby 环境

$ruby -v

如果没有响应,则需要安装镜像

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

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

查看下源路径是否更换了

$gem sources -l

如果显示如下图
在这里插入图片描述

则镜像安装成功,否则失败,重新安装镜像

**请确保只有 gems.ruby-china.org! **
然后就可以更新Ruby了

$sudo gem update --system

则镜像安装成功,否则失败,重新安装镜像

**请确保只有 gems.ruby-china.org! **
然后就可以更新Ruby了

$sudo gem update --system

3.3 开始安装Cocoapods

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

3.4查看Cocoapods版本

pod --version 

查找第三方库:

pod search jsonkit

安装成功~

Cocoapods 删除(卸载)步骤:

sudo gem uninstall cocoapods

4.基本操作

4.1初始化podfile文件

pod init

4.2下载依赖

pod install

4.3轻量下载(加快下载速度,本地已有的就不再下载)

pod install --no-repo-update

4.4私有库创建

pod lib create WidgetName

4.5私有库podspec校验

pod spec lint --allow-warnings --sources='http://app/cocoapods_specs/ynspecs,https://github.com/CocoaPods/Specs'

4.6Pod repo 换源

Cocopods 如果输入 pod repo 会出现:

master
- Type: git (master)
- URL:  https://github.com/CocoaPods/Specs.git
- Path: /Users/MengYu/.cocoapods/repos/master

Pod source 换源:
复制代码

$pod repo remove master
//下⾯面这两个地址都可以进⾏行行托管 这步的操作是把托管的库全部下载下来 
$pod repo add master http://git.oschina.net/akuandev/Specs.git
$pod repo add master https://gitcafe.com/akuandev/Specs.git
$pod repo update
复制代码
可选源:https://git.coding.net/hging/Specs.git 

4.7配置Cocospods路径

Cocospods路径

5 在安装cocoapods时,使⽤用pod install命令安装框架后的⼤大致过程

1)分析依赖:该步骤会分析Podfile,查看不不同类库之间的依赖情况。如果有多个类库依赖于同⼀一个类库,但是依赖于不不同的版本,那么cocoaPods会⾃自动设置⼀一个兼容的版本。
2)下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项⽬目中。
3)⽣生成Pods项⽬目:创建⼀一个Pods项⽬目专⻔门⽤用来编译和管理理第三⽅方框架,CocoaPods会将所需的框
架,库等内容添加到项⽬目中,并且进⾏行行相应的配置。
4)整合Pods项⽬目:将Pods和项⽬目整合到⼀一个⼯工作空间中,并且设置⽂文件链接.

6.创建一个私有库的几个步骤:

  1. 创建并设置一个私有的Spec Repo。
  2. 创建Pod所需要的项目工程文件,并且有可访问的项目版本控制地址。
  3. 创建Pod所对应的podspec文件。
  4. 本地测试配置好的podspec文件是否可用。
  5. 向私有的Spec Repo中提交podspec。
  6. 在个人项目中的Podfile中增加抽取好的Pod并使用。
  7. 更新podspec。

本地私有仓库:

什么是Spec Repo?他是所有的Pods的一个索引,就是一个容器,所有公开的Pods都在这个里面,他实际是一个Git仓库,remote端在GitHub上,当我们使用Cocoapods后它会被clone到本地的~/.cocoapods/repos目录下,可以进入到这个目录看到master文件夹就是这个官方的Spec Repo了。这个master目录的结构是这个样子的。

常见问题补充

1.[!] Unable to find a pod with name, author, summary, or description matching jsonkit

则执行以下命令:删除本地pod索引

rm ~/Library/Caches/CocoaPods/search_index.json

2.Cocospods导入头文件无提示

BuildSettings -> User Header Search Paths -> $(PODS_ROOT) -> recursive
在这里插入图片描述

3. [!] Could not automatically select an Xcode project. Specify one in your Podfile like so:project ‘path/to/Project.xcodeproj’

问题分析:没有指定工程目录

解决:在Podfile文件里指定下工程目录就行了

platform :ios, '9.0'
project 'ShuTiao.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
inhibit_all_warnings!
target 'ShuTiao' do
  pod 'AFNetworking'
end

4.清除 CocoaPods 本地缓存

特殊情况下,由于网络或者别的原因,通过CocoaPods下载的文件可能会有问题。
这时候您可以删除CocoaPods的缓存(~/Library/Caches/CocoaPods/Pods/Release目录),再次导入即可。

5.pod 引入依赖方式

5.1 引入本地依赖

pod 'ManageLocalCode', :path => '../ManageLocalCode'
pod 'BioAuthAPI', :path => '../BioAuthAPI'
pod 'XBTool', :path => '../'

5.2远程私有库依赖:

# 基础宏定义byStevenHu
pod 'HKMacros', :git => 'https://gitee.com/Steven_Hu/HKMacros.git'

5.3指定分支

# 支付代码测试
  iap_pay:
    git:
      url:  https://gitee.com/Steven_Hu/iap_pay.git
      ref: master

5.4常规依赖

pod “BioAuthAPI”, “~>0.2.0”

参考:

https://cocoapods.org/

猜你喜欢

转载自blog.csdn.net/HJT1226874917/article/details/114001383