美文网首页
CocoaPods安装实践 2022-04-02

CocoaPods安装实践 2022-04-02

作者: 勇往直前888 | 来源:发表于2022-04-03 11:15 被阅读0次

简介

  • 有利条件1: 2021年版本的M1 Pro芯片的MAC,当前能拿到的最新版本,自带的Gems和ruby版本足够新。
    当然rvm和homebrew是默认不安装的。
image.png
  • 有利条件2:虽然在国内,但是用了VPN,对于国内国外的RubyGems源访问都很正常。官方的和国内的镜像都能访问,并且访问速度几乎没差别。
    https://gems.ruby-china.com/
    https://rubygems.org/

  • 有利条件3:这是全新的电脑,没有老版本的CocoaPods干扰。

实践过程

Step1 安装CocoaPods本身

  • 参考CocoaPods官方文档,进行安装尝试,其实就一个命令:
    sudo gem install cocoapods
image.png
  • 官方文档安装命令

  • 经过一段时间的等待,通过打印的信息,就知道CocoaPods安装成功了。常用手段,通过查版本号确认一下
    pod --version

image.png

Step2 使用CocoaPods

使用 CocoaPods

  • 首先要使用XCode创建一个工程

  • 然后将终端切换到工程目录

  • 使用命令pod init,创建Podfile文件

image.png
  • 编辑Podfile文件,加上常用的第三方库。

可以使用vi,但是真难用。推荐使用Sublime Text,文本编辑的神器。

AFNetworking
SDWebImage
MBProgressHUD
Masonry
YYModel
YYCache
YYText
MJRefresh
DZNEmptyDataSet
WebViewJavascriptBridge

iOS常用第三方库(OC篇)

# Uncomment the next line to define a global platform for your project
platform :ios, '15.0'

inhibit_all_warnings!

target 'PandaBuy' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for PandaBuy
  pod 'AFNetworking', '~> 4.0'
  pod 'SDWebImage', '~> 5.0'
  pod 'MBProgressHUD', '~> 1.2.0'
  pod 'Masonry'
  pod 'YYModel'
  pod 'YYCache'
  pod 'YYText'
  pod 'MJRefresh'
  pod 'DZNEmptyDataSet'
  pod 'WebViewJavascriptBridge', '~> 6.0'

end

  • 执行命令pod install,下载第三方库。这本来是常规操作,可是却遇到了ruby崩溃的问题。
    问题1:
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: https://www.ruby-lang.org/bugreport.html

原因是未适配M1芯片。解决方法是执行下面的命令
sudo arch -x86_64 gem install ffi
You may have encountered a bug in the Ruby interpreter or extension libraries.

第2部分内容,出现LoadError - dlopen(...)问题的时候,参考文档的大概意思是重装ffi。不过实际试下来,感觉没有必要。只要执行一下arch -x86_64 pod install,有时候就好了。估计M1芯片带来的问题是芯片架构的问题

问题2: 连接经常中断,很不稳定

这部分内容是比较莫名其妙的,尝试了一下,也不知道是否起作用,这里只是记录一下。

cocoapods报错fatal: unable to access ‘XXX.git/‘: LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection

  • 将RubyGem的源由官方的切换到国内的镜像,情况并没有改善

  • 后来参考了下面这篇文章,取消了git config的代理,一开始还不行,后来多试了几次,莫名其妙就好了。

// 取消全局代理:
git config --global --unset http.proxy
 
git config --global --unset https.proxy

解决 Failed to connect to github.com port 443:connection timed out

感想

  • 从事iOS开发8年多来,每次安装CocoaPods环境都要出问题。有好几次想换掉CocoaPods,可是一直没有成功。Carthage一直想用,也做过demo,只是一直没有做起来。

  • VPN一直没有,所以做过很多额外的努力。比如用免费的蓝灯。一次一次不断尝试。换镜像源。选择在晚上夜深人静的时候下载。等等各种折腾。有些措施纯粹是心理安慰。

  • 电脑MAC也是一个问题。自己一直没有买,有些公司用的是别人剩下的,旧版本CocoaPods,RubyGems版本过低等等都是现实问题。

  • 这一次,VPN也有了,MAC也是最新的,配置也不低,可是实际操作下来还是一堆问题,一点都不让人省心。

  • 现在Swift的风头逐渐有盖过Objective-C的趋势,Swift Package Manager是XCode自带的,可以考虑尝试一下。

相关文章

网友评论

      本文标题:CocoaPods安装实践 2022-04-02

      本文链接:https://www.haomeiwen.com/subject/qnutsrtx.html