Cocoapods使用过程中遇到的问题

时间:2023-03-09 05:57:13
Cocoapods使用过程中遇到的问题

前言:记录一些在CocoaPods使用过程中遇到的问题,本地环境:Xcode9.0

  1. 发现有的时候在执行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。

关于gem更多内容  gem的简单命令

  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.

先写到这么多,以后再更新;

如有问题,敬请指正;

如需转载,请注明出处,谢谢!