您的位置:首页 > 运维架构

cocopods 4000 安装步骤及常见错误

2017-03-23 16:53 465 查看


----------------------------------------1 cocopods安装步骤 ---------------------------------------------

打开终端,依次输入

更新gem(很重要)
sudo gem update --system

更换数据源(换成国内的镜像服务器,因为iOS9.0只支持HTTPS,所以以前不能用了将这里改成HTTPS)
gem sources --remove https://rubygems.org/ gem sources -a https://ruby.taobao.org/
安装CocoPods
sudo gem install cocoa pods(当出现钥匙的形状,这时候你需要输入你的电脑密码,输入密码时,终端上并不会出现你输入的字符,待你完整正确的输入密码,按回车,然后稍等一会,如果出现100%的字样,就说明安装coocapods成功了,安装过程根据网速决定,请耐心等待)









-----------------------2使用cocoapods
-----------------------


1.创建一个Xcode工程(QingBiao),然后回到终端,在英文格式下,输入cd,然后空格,再然后把创建的工程拖入终端。(如果你不选择拖入工程,也可以查看工程路径/Users/htzh/Desktop/QingBiao,然后把路径复制到
cd 之后)



2. touch Podfile



3. vim Podfile 此时整个终端处于不可编辑状态 



4.按键盘“i”键,终端第一行可编辑,开始输入内容

platform:ios,'9.0'

pod
'AFNetworking'





5.写完之后,按下esc键,然后按组合键shift + :,(此时,看终端最下面出现可编辑状态),输入wq,回车






6.此时你的工程里会出现一个白色的Podfile文件



7.终端输入: pod install
(根据你所在环境的网速,可能会慢一些,请耐心等待)


终端运行结束后,终端会出现类似下图画面,你的工程里会出现.xcworkspace 以及另外两个文件,这样就成功了。




第三步:使用 

1.安装好cocoapods之后,每次写代码都打开QingBiao.xcworkspace,从这里面写,不要在QingBiao.xcodepro这里写。

2.之后想添加第三方库:可以在Podfile里写想要添加的库名,然后在终端输入pod update 
  值得一提的是,关掉工程或者关掉终端之后,想继续添加第三方库,需要先cd 文件路径(上面第2步),再进行pod update 操作



3.成功导入第三方库后,你在工程里需要导入第三方库的头文件才能使用第三方库。但是你会发现,无论你怎么打都打不出,因为你还需要进行一步操作配置,新增一个值"$(PODS_ROOT)",点击选择”recursive”,这样Xcode就会在项目目录中递归搜索文件且会自动找到Pods文件,头文件自动补齐功能马上就好使了.如下图;



做完这些步骤,你就可以按照往常一样使用第三方库了

cocoapods常见问题:

cocopods常见错误1



原因:找不到相应的第三方库,解决方法1:cd 拉入工程路径后,在终端 pod update   ,方法2:在Podfile文件里删掉这个第三方库,然后在重新倒入

cocopods常见错误2



原因,找不到第三方库 ;解决办法,cd 拉入工程路径后,在终端 pod update

cocopods常见错误3

cocoapods pod install 时出现的问题: 

  CocoaPods was not able to update the `master` repo. If this is an unexpected issue and persists you can inspect it running `pod repo update --verbose`

解决办法:

先删除全局的缓存:

  sudo rm -fr ~/Library/Caches/CocoaPods/

  sudo rm -fr ~/.cocoapods/repos/master/

还不行的话就把当前 Pods目录清空:

  sudo rm -fr Pods/(这一步第一次可以不做,如果处理不成功,第二在做)

再操作

  sudo gem install cocoapods

  pod setup
看看还有没有报错

然后再 pod update 

报错

[!] The `master` repo requires CocoaPods 1.0.0 - (currently using 0.39.0)

出错原因

1、出错原因:没有更新到最新的cocoapods版本 

2、解决方案: 

打开终端

输入:sudo gem install -n /usr/local/bin cocoapods –pre



常见问题

Error fetching http://ruby.taobao.org/:
bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)

说明:
链接不到Ruby淘宝源,常见的404错误,可能因为https替换http了。所以gem sources -a http://ruby.taobao.org/ 需要替换成:gem sources -a https://ruby.taobao.org/
ERROR:  While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/update_rubygems

说明:
Mac OSX 10.11不能使用sudo gem update —system了,需要替换成:sudo gem update-n /usr/local/bin —system
ERROR:  While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod

说明:
Mac OSX 10.11不能使用sudo gem install cocoapods了,需要替换成:sudo gem install -n /usr/local/bin cocoapods
[!] 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`.

说明:
由于安装了多个Xcode导致路径变了,需要变换路径:sudo xcode-select -switch /Applications/Xcode6.4/Xcode.app
The dependency `` is not used in any concrete target

说明:
Podfile升级之后到1.0.0版本,Pod里的内容必须明确指出所用第三方库的target,所以在podfile文件需要明确:
target “YOUR_TARGRT_NAME” do
...
end


Setting up CocoaPods master repo 卡着不动

1、那是因为 淘宝的那个镜像(https://ruby.taobao.org/ )已经不可用了。所以我们现在用最新支持的ruby镜像(https://gems.ruby-china.org/)

  需要的命令行:

  $ gem sources -r https://rubygems.org/ (移除旧版本的镜像,如果你不知道你电脑上目前用的是什么镜像,可用  $ gem
sources -l  来查看)
  $ gem sources -a https://gems.ruby-china.org/ (增加可用的镜像)
  $ gem sources -l  (用来检查使用替换镜像位置成功)

2、当pod setup 进入Setting up CocoaPods master repo 等待的时候表示正在下载了,此时你可通过新开一个终端窗口,输入"cd
~/.cocoapods/"命令行跳到cocoapods文件夹内,执行"du -sh *"查看正在下载的文件夹的大小

3、当出现如下

[!] An error occurred while performing `Git pull`
on repo `master`.

[!] /usr/bin/git pull --ff-only

这个错误应该是说这个节点有问题。就又找资料,然后试试把cocoapods的节点删除,重新添加一个节点,或许就行,说干就干:

原因: Cocoapods的分支不支持当前最新的Xcode版本

解决办法: 删除master分支 重新建立新的分支

sudo rm -fr ~/.cocoapods/repos/master

然后再: pod setup
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息