cocoapods 一些基本问题遇到总结

1.无论是执行pod install还是pod update都卡在了Analyzing dependencies 或者 Updating local specs repositories不动 
解决: 原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
 
 
  • 1
  • 2
  • 1
  • 2

2.pod 命令运行报下面错误

Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

解决: 不要使用文本编辑去编辑Podfile,使用Xcode编辑,或者使用终端敲命令去编辑。或者输入格式错误,没输入运行版本:

platform:iOS, '7.0'
  
  
  • 1
  • 1

3.使用cocoapods导入第三方类库后头文件没有代码提示 
解决: 选择Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项,新增一个值"${SRCROOT}",并且选择\”Recursive\”

4.The dependency “ is not used in any concrete target. 
解决: 这个错误是说明你没有使用下面的格式, 将 Podfile编辑成下面的格式

 platform :ios,'7.0'
target '你的app的target名字' do
    pod 'AFNetworking', '2.0'
    pod 'SDWebImage', '3.7'
    ...
end     
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

5.安装错误

Setting up CocoaPods master repo 
[!] /usr/bin/Git clone https://github.com/CocoaPods/Specs.git master –depth=1 
Cloning into ‘master’… 
error: RPC failed; result=18, HTTP code = 200 
fatal: The remote end hung up unexpectedly 
fatal: early EOF 
fatal: index-pack failed

解决: 

$ git config --global http.postBuffer 24288000
$ git config --list
  
  
  • 1
  • 2
  • 1
  • 2

若输出 http.postbuffer=24288000, 就 OK了

6.在 pod install 时, 可以生成要导入的第三库, 但是其头文件找不到, 文件有缺失, target 设置没有完成.

[!] The `Paopao [Debug]` target overrides the `PODS_ROOT` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

[!] The `Paopao [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

[!] The `Paopao [Release]` target overrides the `PODS_ROOT` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

[!] The `Paopao [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

解决: 产生此警告的原因是项目 Target 中的一些设置,CocoaPods 也做了默认的设置,如果两个设置结果不一致,就会造成问题。 
我想要使用 CocoaPods 中的设置,分别在我的项目中定义PODS_ROOT 和 Other Linker Flags的地方,把他们的值用$(inherited)替换掉,进入终端,执行 pod update , 然后错误没了.

还有一种简单粗暴的方法: 
点击项目文件 project.xcodeproj,右键显示包内容,用文本编辑器打开project.pbxproj,删除OTHER_LDFLAGS的地方,保存,执行pod update,错误没了

7.引用要导入的三方库缺少 .o 文件的错误 
这里写图片描述

解决: 在Build Setting 中的Other Linker Flags选项中加入$(OTHER_LDFLAGS)

8.还有一个复杂些的错误, 在为新项目配置 cocoapods 时遇到的

LoadError - dlopen(/Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/x86_64-darwin14.1.0/psych.bundle, 9): Library not loaded: /usr/local/lib/libyaml-0.2.dylib
  Referenced from: /Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/x86_64-darwin14.1.0/psych.bundle
  Reason: image not found - /Users/MyMac/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/x86_64-darwin14.1.0/psych.bundle
  
  
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

9.Mac OS X 跟新到10.11后cocoapods安装出现的问题

$ sudo gem install cocoapods 
ERROR: Could not find a valid gem ‘cocoapods’ (>= 0), here is why: 
Unable to download data from http://ruby.taobao.org/ - bad response Not Found 404 (http://ruby.taobao.org/latest_specs.4.8.gz)

更新ruby后也没有解决, 最后发现是由于淘宝镜像失效了,http://ruby.taobao.org/失效了 
解决方案有两个: 
1>将淘宝镜像的http改为https

$ gem sources --remove http://ruby.taobao.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
  
  
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

再安装就可以了

$ sudo gem install cocoapods
  
  
  • 1
  • 1

2>后来在stackoverflow上看到一个回答 是关于gem install fails with openssl failure,将淘宝镜像替换为http://rubygems.org/.

$ gem source -a http://rubygems.org/
  
  
  • 1
  • 1

再安装就可以了

$ sudo gem install cocoapods
  
  
  • 1
  • 1

10.ruby环境需要升级更新 
ERROR: Error installing cocoapods: activesupport requires Ruby version >= 2.2.2.

原因:在安装cocoapods过程中提示需要Ruby的版本在2.2.2以上,而目前使用的Ruby版本是Mac系统自带的1.8.7。所以需要对Ruby进行升级。以下是安装Ruby的三种方法: 
1.下载ruby源代码,编译,安装 
2.使用发行版自带的安装包,安装 
3.使用 rvm安装 
在这里还是推荐大家通过rvm对Ruby进行升级,具体的步骤这里就不赘述了, 需要的请查看我的博客之 cocoapods:安装/更新Ruby环境教程, 里面有通过ram安装ruby的具体操作.

11.pod setup/ pod install 错误总结

问题1:

$ pod install 
Analyzing dependencies 
[!] Unable to satisfy the following requirements: 
-AFNetworking (~> 3.0) required by Podfile 
None of your spec sources contain a spec satisfying the dependency: AFNetworking (~> 3.0)
You have either: 
* out-of-date source repos which you can update with pod repo update
* mistyped the name or version. 
* not added the source repo that hosts the Podspec to your Podfile. 
Note: as of CocoaPods 1.0, pod repo update does not happen on pod install by default.

解决:

$ pod repo remove master
$ pod repo add master https://gitcafe.com/akuandev/Specs.git
$ pod repo update
  
  
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

问题2:

$ pod setup 
Setting up CocoaPods master repo 
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master 
Cloning into ‘master’… 
error: RPC failed; curl 56 SSLRead() return error -36 
fatal: The remote end hung up unexpectedly 
fatal: early EOF 
fatal: index-pack failed 
解决:

$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
  
  
  • 1
  • 1

并一定是这行代码,要根据自己的情况,来修改这个命令行, 也许你是多个xcode, 那么你的命令行就要修改一下:

$ sudo xcode-select -switch /Applications/Xcode 7.3.1.app/Contents/Developer
  
  
  • 1
  • 1

问题3:

$ pod setup 
Setting up CocoaPods master repo 
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master 
Cloning into ‘master’… 
error: RPC failed; curl 56 SSLRead() return error -9806 
fatal: The remote end hung up unexpectedly 
fatal: early EOF 
fatal: index-pack failed


解决方法:这是原博主没有写到的,我找了很久才找到这个方法,最后运行也成功了,所以将它记录下来:

$ brew remove git
$ brew remove curl


$ brew install openssl
$ brew install --with-openssl curl
$ brew install --with-brewed-curl --with-brewed-openssl git


问题4:

$ pod setup 
Setting up CocoaPods master repo 
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master 
Cloning into ‘master’… 
error: RPC failed; curl 18 transfer closed with outstanding read data remaining 
fatal: The remote end hung up unexpectedly 
fatal: early EOF 
fatal: index-pack failed

这些怎么解决呢? 其实mac OS 10.11之后, cocoapods的一些命令需要进行变化,今天来总结一下. 如果你遇到了pod setup或者pod update 的问题了, 而且很难解决, 我建议不如卸载重装. 10.11 之后, 安装cocoapods有一些不同的命令,下面总结一下: 
1.检查ruby环境,若需要请按如下更新

$ sudo gem update --system
  
  
  • 1
  • 1

2.卸载cocoapods

$ sudo gem uninstall cocoapods
  
  
  • 1
  • 1

3.重装cocoapods (安装命令有变化) 
10.11之前

$ sudo gem install cocoapods
  
  
  • 1
  • 1

10.11之后

$ sudo gem install -n /usr/local/bin cocoa pods
  
  
  • 1
  • 1

4.

$ sudo chmod +rx /usr/local/bin
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
  
  
  • 1
  • 2
  • 1
  • 2

//将 CocoaPods Specs repository复制到你电脑上~/.cocoapods目录下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值