你真的了解Cocoapods吗?

2020-01-08  本文已影响0人  StevenHu_Sir

1.Cocoapods

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

2.如何配置/使用

2.1 \color{blue}{cocoapods安装步骤}:

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
或者
$ sudo gem install cocoapods -n /usr/local/bin

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

3> 开始安装Cocoapods

$ sudo gem install cocoapods

报错信息:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.

/usr/bin没有权限,执行以下代码

$sudo chmod 777 /usr/bin
//chmod: Unable to change file mode on /usr/bin: Operation not permitted
$sudo gem install -n /usr/local/bin cocoapods

4>查看Cocoapods版本

$pod --version  //1.8.4

查找第三方库:

$ pod search jsonkit

不报错,则安装成功~

2.2 \color{red}{cocoapods卸载步骤}:

1>在安装之前最好先卸载老版本

$ sudo gem uninstall cocoapods

2> 删除Cocoapos相关的东西

$ sudo gem uninstall cocoapods-core
$ sudo gem uninstall cocoapods-deintegrate

3> 查看安装Pod的地址
打开终端输入命令: $which pod 回车

/usr/local/bin/pod

4> 删除 pod

$ sudo rm -rf /usr/local/bin/pod

5> 检查Cocoapods是否删除

输入如下命令:$pod search AFNetworking或者pod  然后显示 pod: command not found

2.3 \color{brown}{cocoapods 更新步骤}:

sudo gem update --system //更新语句;
gem sources -l //验证你的Ruby镜像是并且仅是taobao(更新)
sudo gem install -n /usr/local/bin cocoapods //更新到所在文件夹中;
pod setup //开始更新);
du -sh * (查看文件大小);
pod --version (查看版本)。

2.4-路径配置Xcode

15784763666900.png 15784764457068.png

使用时需要新建一个名为 Podfile 的文件,以如下格式,将依赖的库名字依次列在文件中即可:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target 'Cocopods' do
pod 'AFNetworking', '~> 3.1.0'
pod 'SDWebImage', '~> 3.8.1'

end

cd 到项目目录下,指向 pod init 初始化

pod install 下载依赖

3.Cocoapods安装太慢怎么办?

3.1切换镜像源:清华大学开源软件镜像站

CocoaPods 镜像使用帮助

$ pod repo remove master
$ pod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git
$ pod repo update

可选源:https://git.coding.net/hging/Specs.git

$ cd ~/.cocoapods/repos 
$ pod repo remove master
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'

3.2 下载依赖太慢(pod install)

15784762297472.png
$pod install --no-repo-update //不更新,若想更新只用pod install
$pod update --no-repo-update

cocoapods报错补充

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

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

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

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

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

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

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
project 'ShuTiao.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
inhibit_all_warnings!
target 'ShuTiao' do
  pod 'Masonry'
  pod 'AFNetworking'
  pod 'SDWebImage'
  pod 'SVProgressHUD'  
  # 基础宏定义byStevenHu
  pod 'HKMacros', :git => 'https://gitee.com/Steven_Hu/HKMacros.git'
end

use_frameworks!和#use_frameworks!的区别、解决Swift项目中use_frameworks!冲突的问题

use_frameworks!和#use_frameworks!的区别

1、 用cocoapods 导入swift 框架到swift项目和OC项目都必须要 use_frameworks!
2、用动态库,必须要在Podfile文件中添加 use_frameworks!

静态库 VS 动态库

导入项目

总结

未完,待续~

上一篇 下一篇

猜你喜欢

热点阅读