Cocoapods使用过程中遇到的问题
前言:记录一些在CocoaPods使用过程中遇到的问题,本地环境:Xcode9.0
- 发现有的时候在执行pod init的时候不能正常地创建出来pod File文件,显示的错误如下:
――― MARKDOWN TEMPLATE ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ### Command ```
/Users/wangyongwangyongwang/.rvm/rubies/ruby-2.3./bin/pod init
``` ### Report * What did you do? * What did you expect to happen? * What happened instead? ### Stack ```
CocoaPods : 1.0.
Ruby : ruby 2.3.0p0 (-- revision ) [x86_64-darwin15]
RubyGems : 2.6.
Host : Mac OS X 10.12. (16G29)
Xcode : 9.0 (9A235)
Git : git version 2.10.
Ruby lib dir : /Users/wangyongwangyongwang/.rvm/rubies/ruby-2.3./lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 74d8002565cb1b582426b5affef1b97991b4c14c
``` ### Plugins ```
cocoapods-deintegrate : 1.0.
cocoapods-plugins : 1.0.
cocoapods-search : 1.0.
cocoapods-stats : 1.0.
cocoapods-trunk : 1.0.
cocoapods-try : 1.1.
``` ### Error ```
RuntimeError - [Xcodeproj] Unknown object version.
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3.@global/gems/xcodeproj-1.3./lib/xcodeproj/project.rb::in `initialize_from_file'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3.@global/gems/xcodeproj-1.3./lib/xcodeproj/project.rb::in `open'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3.@global/gems/cocoapods-1.0./lib/cocoapods/command/init.rb::in `validate!'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3.@global/gems/claide-1.0./lib/claide/command.rb::in `run'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3.@global/gems/cocoapods-1.0./lib/cocoapods/command.rb::in `run'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3.@global/gems/cocoapods-1.0./bin/pod::in `<top (required)>'
/Users/wangyongwangyongwang/.rvm/rubies/ruby-2.3./bin/pod::in `load'
/Users/wangyongwangyongwang/.rvm/rubies/ruby-2.3./bin/pod::in `<main>'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./bin/ruby_executable_hooks::in `eval'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./bin/ruby_executable_hooks::in `<main>'
``` ――― TEMPLATE END ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― [!] Oh no, an error occurred. Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=%5BXcodeproj%5D+Unknown+object+version.&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 Don't forget to anonymize any private data! wangwang:WWTestCocoaPodsError wangyongwangyongwang$
执行pod init的时候的错误提示
解决问题:根据错误提示可以发现参考 使用CocoaPods出现问题的时候都可以查看CocoaPods issues 我这边的错误是参考的 pod init error #7208
解决方法:关键的命令是这一句:Try gem install cocoapods -v 1.4.0.beta.2 or gem install cocoapods -v 1.3.1
然后就没问题了
插曲:其实我在解决上边问题的时候,第一次忘了输入cocoapods了,然后报错如下
ERROR: While executing gem ... (Gem::CommandLineError)
Please specify at least one gem name (e.g. gem build GEMNAME)
解决办法:后来我正确输入命令没问题后,就解决了这个问题了
自我分析:上边的命令是让我们更新Cocoapods到1.3.1版本,我在更新前都是用的比较老的1.0.1 (pod --version查看安装的Cocoapods的版本)
多想一点CocoaPods的本质到底是什么:
深入理解 CocoaPods 提到CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。CocoaPods是用 Ruby 写的,并由若干个 Ruby 包 (gems) 构成的。所以她才会用gem intall 这种方式安装Cocoapods
CocoaPods是这么说自己的:CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over 39 thousand libraries and is used in over 2.7 million apps. CocoaPods can help you scale your projects elegantly.CocoaPods is built with Ruby and is installable with the default Ruby available on OS X. We recommend you use the default ruby.
CocoaPods是对于Swift和Objective-C的Cocoa项目的依赖管理工具,她已有39000多个库,并且应用于27万多个app。CocoaPods可以帮助你使你的项目更小更优雅。CocoaPods的基础是Ruby,并且OS X上默认已经安装了Ruby,我们建议您使用默认的Ruby。
2.在使用pod update --verbose --no-repo-update的时候不能够正常地导入所要导入的第三方库
我要导入的库是 pod 'CYLTabBarController', '~> 1.14.1'
提示的问题是:
Update all pods
Preparing Analyzing dependencies Inspecting targets to integrate
Using `ARCHS` setting to build architectures of target
`Pods-WWCopyHomeWorkBox`: (``)
Using `ARCHS` setting to build architectures of target
`Pods-WWCopyHomeWorkBoxTests`: (``)
Using `ARCHS` setting to build architectures of target
`Pods-WWCopyHomeWorkBoxUITests`: (``) Resolving dependencies of `Podfile`
[!] Unable to satisfy the following requirements: - `CYLTabBarController (~> 1.14.)` required by `Podfile` None of your spec sources contain a spec satisfying the dependency: `CYLTabBarController (~> 1.14.)`. You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --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. /Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/resolver.rb::in `handle_resolver_error'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/resolver.rb::in `rescue in resolve'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/resolver.rb::in `resolve'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/installer/analyzer.rb::in `block in resolve_dependencies'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/user_interface.rb::in `section'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/installer/analyzer.rb::in `resolve_dependencies'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/installer/analyzer.rb::in `analyze'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/installer.rb::in `analyze'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/installer.rb::in `block in resolve_dependencies'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/user_interface.rb::in `section'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/installer.rb::in `resolve_dependencies'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/installer.rb::in `install!'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/command/update.rb::in `run'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/claide-1.0./lib/claide/command.rb::in `run'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./lib/cocoapods/command.rb::in `run'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./gems/cocoapods-1.3./bin/pod::in `<top (required)>'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./bin/pod::in `load'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./bin/pod::in `<main>'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./bin/ruby_executable_hooks::in `eval'
/Users/wangyongwangyongwang/.rvm/gems/ruby-2.3./bin/ruby_executable_hooks::in `<main>'
检查了本地的版本:pod --version
wangwang:WWCopyHomeWorkBox wangyongwangyongwang$ pod --version
1.3.
检查pod 库中是否存在我们要添加的相应的版本的pod库:当我执行pod Search CYLTabBarController的时候显示如下:显示表明 pod 库里边有我要添加的这个版本
wangwang:WWCopyHomeWorkBox wangyongwangyongwang$ pod search CYLTabBarController -> CYLTabBarController (1.14.)
Highly customizable tabBar and tabBarController for iOS
pod 'CYLTabBarController', '~> 1.14.2'
- Homepage: https://github.com/ChenYilong/CYLTabBarController
- Source: https://github.com/ChenYilong/CYLTabBarController.git
- Versions: 1.14., 1.14., 1.14., 1.13., 1.13., 1.13., 1.12., 1.12.,
1.11., 1.10., 1.9., 1.8., 1.7., 1.6., 1.6., 1.6., 1.6., 1.6.,
1.6., 1.6., 1.6., 1.5., 1.5., 1.5., 1.5., 1.5., 1.5., 1.5., 1.4.,
1.4., 1.4., 1.4., 1.4., 1.4., 1.3., 1.3., 1.3., 1.3., 1.2., 1.2.,
1.2., 1.2., 1.2., 1.2., 1.2., 1.2., 1.2., 1.2., 1.1., 1.1., 1.0.,
1.0., 1.0., 1.0., 1.0., 1.0., 1.0., 1.0., 1.0. [master repo] -> CYLTabBarController-JDBR (0.0.)
Highly customizable tabBar and tabBarController for iOS
pod 'CYLTabBarController-JDBR', '~> 0.0.1'
- Homepage: https://github.com/jidibingren/CYLTabBarController
- Source: https://github.com/jidibingren/CYLTabBarController.git
- Versions: 0.0. [master repo]
(END)
最后是直接执行的pod update
然后就下载pod 库(CYLTabBarController)成功了
wangwang:WWCopyHomeWorkBox wangyongwangyongwang$ pod update
Update all pods
Updating local specs repositories
$ /usr/local/bin/git -C /Users/wangyongwangyongwang/.cocoapods/repos/master
fetch origin --progress
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta ), pack-reused
Receiving objects: % (/), 3.26 MiB | 1.72 MiB/s, done.
Resolving deltas: % (/), completed with local objects.
From https://github.com/CocoaPods/Specs
e1a2033..e327ca5 master -> origin/master
$ /usr/local/bin/git -C /Users/wangyongwangyongwang/.cocoapods/repos/master
rev-parse --abbrev-ref HEAD
master
$ /usr/local/bin/git -C /Users/wangyongwangyongwang/.cocoapods/repos/master
reset --hard origin/master
Checking out files: % (/), done.
HEAD is now at e327ca5 [Add] OptimizelySDKUserProfileService 1.5.-RC
warning: inexact rename detection was skipped due to too many files. CocoaPods 1.4..beta. is available.
To update use: `gem install cocoapods --pre`
[!] This is a test version we'd love you to try. For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.4.0.beta.2 Analyzing dependencies
Downloading dependencies
Installing CYLTabBarController (1.14.)
Generating Pods project
Integrating client project [!] Please close any current Xcode sessions and use `WWCopyHomeWorkBox.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There is dependency from the Podfile and total pod installed.
先写到这么多,以后再更新;
如有问题,敬请指正;
如需转载,请注明出处,谢谢!
Cocoapods使用过程中遇到的问题的更多相关文章
- CocoaPods安装过程中的大坑
一.CocoaPods是什么? CocoaPods是一个用Ruby写的.负责管理iOS项目中第三方开源库的工具,CocoaPods能让我们集中的.统一管理第三方开源库,为我们节省设置和更新第三方开源库 ...
- cocoapods安装以及使用,安装过程中ruby版本过低
cocoapods安装以及使用,安装过程中ruby版本过低 字数473 阅读103 评论1 喜欢2 1.打开终端 2.移除现有 Ruby 默认源 $ gem sources --remove http ...
- 最新cocoapods安装流程,安装过程中遇到的问题及解决方法
最近重新安装了一次cocoapods,参考的安装流程:http://blog.csdn.net/showhilllee/article/details/38398119/ 但是现在的cocoapods ...
- iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】【20160725更新】
在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...
- Cocoapods安装过程
1.升级Ruby环境 gem -v gem update --system 如果没有权限去升级Ruby ?就输入 sudo gem update --system 2.换掉Ruby镜像 首先移除现有的 ...
- iOS cocopods安装使用和安装过程中遇到的问题及解决办法
在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...
- iOS安装CocoaPods详细过程
iOS安装CocoaPods详细过程 一.简介 什么是CocoaPods CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的 ...
- WINDOWS系统下MYSQL安装过程中的注意事项
1.首先MySQL的安装方式有两种:一种是MSI安装方式,很简单就像安装Windows软件一样.另外一种就是ZIP安装方式.这种相对而言比较麻烦.新手推荐MSI安装方式. 安装方式有以下两种: MSI ...
- 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误
SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...
随机推荐
- TETeLasr Cutting System 开机回零问题
TETeLasr Cutting System 开机回零问题 :打开 "轴信息" :打开 加工参数-->机器参数-->脉冲当量: X轴==4000 Y轴== ...
- JSP入门 文件上传
commons-fileupload public void save(HttpServletRequest request,HttpServletResponse response) throws ...
- 用ES6巧妙的解决传统面试中的算法小问题!
最近自己也在准备面试,在复习算法的时候,机智的用了一波ES6.一起来瞧瞧吧! 1.数组的去重 var arr=str.split(''); for(var i=0;i<arr.length-1; ...
- 51nod 1126 求递推序列的第N项 思路:递推模拟,求循环节。详细注释
题目: 看起来比较难,范围10^9 O(n)都过不了,但是仅仅是看起来.(虽然我WA了7次 TLE了3次,被自己蠢哭) 我们观察到 0 <= f[i] <= 6 就简单了,就像小学初中学的 ...
- Musical Theme poj1743(后缀数组)
Musical Theme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 16757 Accepted: 5739 De ...
- Zabbix(一) : 简介以及Server端安装
一.什么是Zabbix? zabbix由AlexeiVladishev首先开发,目前在维护的是Zabbix SIA.ZABBIX是一个企业级的开源分布式监控解决方案. zabbix为监控网络和服务器的 ...
- 监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)
sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器.通过 sysdig 我们可以近距离观察 linux 操作系统和容器的行为. Linux 上有很多常用的监控工具,比如 strace,tc ...
- winwebmail设置能用foxmail收发邮件
域名解析注意 1.首先做A记录解析: 主机名处:输入 mail IP地址处:输入IP地址 2.做MX记录: 主机名处: 大都保持空输入,什么也不用输入 TTL:默认就可以了,不需要改动 优先级:一 ...
- 发布系统Git使用指南 - the Git Way to Use Git
发布系统Git使用指南 --the Git Way to Use Git 背景 有文章曾归纳,Git是一套内容寻址文件系统,意思是,Git的核心是存储键值对^[1]^.显然,这样的形式不利于普通人 ...
- 创建静态库Static Library(Framework库原理相似)
在项目开发的过程中,经常使用静态库文件.例如两个公司之间业务交流,不可能把源代码都发送给另一个公司,这时候将私密内容打包成静态库,别人只能调用接口,而不能知道其中实现的细节. 简介: 库是一些没有ma ...