CocoaPods安装及bug解决方案

为什么要用CocoaPods

  • 现在众所周知随着swift的出现,cocoaPods越来越🔥
  • 为什么呢?
  • 因为swift出现了一个叫命名空间的机制,也就是说整个工程在同一个命名空间下,不需要倒入头文件(也不需要再像OC那样加上前缀),不管那个类直接写就可以了,正因为如此出现了新的问题
  • 在我们的工程中会倒入一些第三方框架,但是如果出现重名了怎么解决呢?
  • 在OC中可以增加前缀来解决
  • 现在Swift中没有前缀也不需要导入头文件,解决方案就是一个swift工程是一个命名空间,在不同的工程下(也就是意味着不同的命名空间下),相同的名称是不会冲突的,所以就需要用到cocoaPods

Xcode8 10.12 系统需要更换一下路径看我的文章
Xcode8更新CocoaPods报错解决办法


  • 最新版 CocoaPods 的安装流程
注意:在终端输入命令的时候前面的$ 符去掉
  • 1.移除现有Ruby默认源
$gem sources --remove https://rubygems.org/
  • 2.使用新的源
$gem sources -a https://ruby.taobao.org/
  • 3.验证新源是否替换成功
$gem sources -l
  • 4.安装CocoaPods
(1) $sudo gem install cocoapods 
备注:苹果系统升级 OS X EI Capitan 后改为
$sudo gem install -n /usr/local/bin cocoapods
输入电脑密码,注意哦,这里输入电脑密码看不到的哦,直接输入
(2) $pod setup

军哥提示:

出现Setting up CocoaPods master repo,说明Cocoapods在将它的信息下载到 
~/.cocoapods里,这个目录最终大小是135.8多M(可能有误差,我自己测试的是这么大),就是完成了
当出现 `Setup completed` 代表设置成功,这个过程比较漫长,如果翻墙会快些
  • 5.更新gem
$sudo gem update --system
  • 6.测试cocoaPods是否安装成功
pod search 'AFNetWorking'
如果出现你要查找的东西证明已经成功

-7 新建Xcode工程,并在终端用cd指令到文件夹内

$pod search `第三方框架`
例如: pod search AFNetworking

8.新建文件 vim “Podfile”,

$vim Podfile
  • 8.1.输入i
    进入编辑模式
  • 8.2 拷贝以下内容
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
pod 'AFNetworking'
  • 8.3 :wq保存并退出
小提示:(vim命令按 i 编辑,esc退出编辑,:wq 保存并退出)
  • 9.导入第三方库
$pod install
  • 10 看到这个证明你的cocoaPods 配置成功

    是不是so easy

    Updating local specs repositories
  • 11.退出终端

以下是我在安装cocoaPods中出现的一些错误及解决方案,分享给大家


  • 错误2:
    ERROR: While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/pod
    解决方案:苹果系统升级OS X EI Capitan后会出现的插件错误,将安装流程中
 (1)sudo gem install cocoa pods 改为
sudo gem install -n /usr/local/bin cocoapods

  • 错误3:
    [!] Unable to satisfy the following requirements: - AFNetworking (~> 3.0.4) required by Podfile
    Specs satisfying the AFNetworking (~> 3.0.4) dependency were found, but they required a higher minimum deployment target.
  • 解决方案:安装流程:Podfile文件 中 AFNetworking~> ‘3.0.4’ 后边的 3.0.4 是第三方框架版本号,可以加上,也可以不加

  • 错误4.
    [!] 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
    没有读写权限
    尝试解决:
  • 尝试1、根据提示,跑一下 pod repo update --verbose
  • 尝试2、如果还是出现原来问题,升级 gem update cocoapods(如果CocoaPods还不是最新版本)
  • 尝试3、如果升级还是出现原来的问题,那么重装CocoaPods 。
    首先查看本地装了关于cocoapods的哪些东西,在终端输入
gem list --local  grep cocoapods

接着全部卸掉上面的,在终端输入

sudo gem uninstall cocoapods

再安装,在终端输入

gem install cocoapods
  • 尝试4、如果问题依旧,那么请清除缓存再pod setup
清除命令
sudo rm -fr ~/.cocoapods/repos/master
初始化
pod setup
结论:之前的版本没有权限,移除再安装就好了

  • 错误5.如果出现这种情况


    代表你的工程中已经有第三方库了,cocoapods不知道路径,需要手动告诉他路径

    需要在vim “Podfile”中增加

xcodeproj '你文件夹名称/工程名称.xcodeproj'

例如

 xcodeproj '小码哥微博/小码哥微博.xcodeproj'
 source 'https://github.com/CocoaPods/Specs.git'
 platform :ios, '8.0'
 
 pod 'AFNetworking', '~> 3.0'

再次执行更新命令

pod install

之后你会发现你的工程中已经有了Pods了,并且三方框架也倒入进来了


之后就成这个样子了,真的很强大哦

  • 错误6:
    如果导入copds之后出现这样的问题


第一种解决办法需要桥接,也就是Swift和OC混编

  • 1.新建OC头文件


    新建OC头文件
  • 2.导入第三方库


    导入第三方库
  • 3.配置路径


    追寻到工程路径就可以了
  • 4.路径寻找


    路径寻找,相对路径

第二种解决办法需要在 Podfile 中增加一句代码

use_frameworks!
Podfile 中增加一句代码 use_frameworks!

然后再次执行更新就可以了

pod update
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容