Cocoapods安装、使用与填坑

1、安装

安装命令:ios

sudo gem install cocoapods
复制代码

这个须要访问墙外,若不能正常安装,请看下面介绍的换源流程。
git


步骤:

(1)移除自带源

$ gem sources --remove https://rubygems.org/
复制代码

(移除原有的自带ruby源)github

$ gem sources -a https://ruby.taobao.org/
复制代码

(换用国内淘宝源,请注意是https,http已被弃用,固然,也有用ruby中国的源的,只需将连接改为:gems.ruby-china.com/ 便可,区别你们本身感觉)vim

(2)换源

用下面的命令查看源是否更换xcode

$ gem sources -l
复制代码

显示:ruby

*** CURRENT SOURCES ***https://ruby.taobao.org/
复制代码

即更换成功bash

(3)安装

$ sudo gem install cocoapods
复制代码

(4)查看版本

pod --version
复制代码

查看版本,检查cocoapods是否安装成功,若显示版本号,则安装成功网络

2、使用

经过命令行工具进入到项目所在目录:app

vim Podfile
复制代码

进行编辑,以导入Masonry为例: ide

第1行:确认使用平台是在iOS 10.0以上使用
第3行:将这些第三方类库用在本身创建的项目上
第5行:导入的第三方库Masonry 1.1.0版本,固然,这句也能够写成

pod 'Masonry'
复制代码

不知道导哪一个版本能够这样写,可是我的建议最好写上版本号,也能够用命令

pod search Masonry
复制代码

查看Masonry的版本
保存关闭Podfile文件,在命令行输入:

pod install
复制代码

此时会下载第三方库到项目中。若是第三方类库有不少,能够在pod 'Masonry'下面写下其余类库的名称,如:

pod 'Masonry'
pod 'AFNetworking'
复制代码

保存关闭install,第三方类库就会下载到项目的Pods文件夹中。到此,CocoaPods使用介绍完毕。


3、卸载

一、卸载命令:

$ sudo gem uninstall cocoapods
复制代码

二、先查看本地安装过的cocopods相关东西,命令以下:

$ gem list --local | grep cocoapods
复制代码

会显示以下:

cocoapods-core (0.39.0)
cocoapods-downloader (0.9.3)
cocoapods-plugins (0.4.2)
cocoapods-search (0.1.0)
cocoapods-stats (0.6.2)
cocoapods-trunk (0.6.4)
cocoapods-try (0.5.1)
复制代码

三、逐个删除:

$ sudo gem uninstall cocoapods-core
复制代码

4、填坑

这就完了么,不,不论是用一个东西,仍是开发一个东西,咱们总会遇到一些坑,如今咱们来看看使用中均可能会遇到什么坑:

坑一:

[!] Oh no, an error occurred.
It appears to have originated from your Podfile at line 1.

Search for existing github issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=%2FUsers%2Fhuaqiao%2FDesktop%2FUserCommand1%2FPodfile%3A1%3A+syntax+error%2C+unexpected+%27%3A%27%2C+expecting+end-of-input%0Aplatform+%3A+ios+%0A++++++++++%5E&type=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md
复制代码

看到第一句是否是颇有喜感,解决方案: You need reinstall cocoapods: so

sudo gem uninstall cocoapods
sudo gem install cocoapods
pod setup
复制代码

坑二:

Invalid `Podfile` file: [!] Unsupported options `{:exclusive=>true}` 
for target 'CocoaPodsDemo'
复制代码

这种通常是pod install别人的工程,解决办法是将:

target 'mySuperApp_Tests', :exclusive => true do 
pod 'mySuperApp', :path => '../'end
复制代码

改为:

target 'mySuperApp_Tests' do pod 'mySuperApp', :path => '../' end
复制代码

坑三:

[!] Unable to add a source with url 
`https://github.com/CocoaPods/Specs.git` named `master`.
复制代码

解决办法:

cd ~/.cocoapods/repos 
git clone https://github.com/CocoaPods/Specs.git master
复制代码

还有一种报错是:

[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.
You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.
复制代码

解决办法:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
复制代码

能够经过:

cd ~/.cocoapods
du -sh *
复制代码

命令来查看文件大小

坑四:不管是执行pod install仍是pod update都卡在了Analyzing dependencies不动缘由在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数能够省略这一步,而后速度就会提高很多。加参数的命令以下:

pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
复制代码

坑五:提示找不到头文件

1,找到TARGETS -> Build Settings -> SearchPaths -> User Header Search Paths 在后面的空白处双击 2, 点击 ‘+’号,添加一个新的键为${SRCROOT},值设置为recursive

坑六:pod install和pod update这俩命令字面意思理解就行,一个安装,一个更新而后咱们要说说Podfile.lock文件和Pods文件夹:

Podfile.lock :这个文件是用来保存已经安装的Pods依赖库的版本。 Pods文件夹:这里边全是引用的三方类库。若是Podfile.lock文件丢失,你再使用pod install命令,而且Podfile中含有没有指定版本的类库,那你的类库就会下载最新的版本,有些比较活跃的三方项目更新很频繁,它们一旦更新方法名或者实现方式,你调用的代码就报错了,这是灾难性的。 特别须要注意:使用pod update会更新的你Podfile.lock文件到最新版本,它们一旦更新方法名或者实现方式,你调用的代码就报错了,因此请不要手残。 因此千万记住,不管是本身的项目,仍是跑别人的源码,必定要用pod install,至于pod update,看你本身是否是要三方升级类库(我仍是建议最好在Podfile中指定版本,想要升级,只需更改Podfile中的版本号,再pod install)。

坑七:

sudo gem sources -a https://ruby.taobao.org/ 
Error fetching https://ruby.taobao.org/:
	server did not return a valid file (http://ruby.taobao.org/specs.4.8.gz)
复制代码

这真的是无妄之灾啊,网上找了半天解决办法,试过https改http,也试过:

1. rvm pkg install openssl
2. rvm reinstall all --force
复制代码

$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l*** CURRENT SOURCES ***
复制代码

最后问群友,群友说试试看,能不能打开这个网站,结果是公司网络权限问题,对于某宝是不能正常访问的,/气哭/气哭。

坑八:

在运行 “sudo gem install cocoapods” 的时候出现问题:

ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/fuzzy_match(或者是- /usr/bin/xcodeproj之类的)
复制代码

则能够改成:

sudo gem install -n /usr/local/bin cocoapods
复制代码

5、经常使用命令

一、更新gem:
sudo gem update --system

二、删除gem源:
gem sources --remove [https://ruby.taobao.org/](https://ruby.taobao.org/)

三、修改gem源:
gem sources -a [https://gems.ruby-china.org](https://gems.ruby-china.org/)

四、查看gem源是不是最新的:
gem sources -l

五、升级cocoapods
sudo gem install cocoapods
或指定版本
sudo gem install cocoapods -v '版本号'

六、升级cocoapods到预览版:
sudo gem install -n /usr/local/bin cocoapods --pre

七、查看升级后的cocoapods版本:
pod --version

复制代码

6、使用总结

  • 第一步,建立项目;
  • 第二步,建立Podfile文件;
  • 第三步,填写第三方库信息到podfile文件并保存;
  • 第四步,安装第三方库,退出,用xcworkspace文件打开,这步很是关键,并且只能用这个打开,不是之前的xcodeproj文件了,否则会提示第三方库找不到;
  • 第五步,导入头文件,开始使用。

【参考】

相关文章
相关标签/搜索