安装 FirebaseInstanceID 时出错

Posted

技术标签:

【中文标题】安装 FirebaseInstanceID 时出错【英文标题】:error while installing FirebaseInstanceID 【发布时间】:2016-11-07 15:09:11 【问题描述】:

我想使用 Swift 和 Firebase 创建一个简单的消息传递应用程序。 但是当我尝试安装我需要的 pod 时,我总是会收到关于“FirebaseInstanceID”的相同错误 我试图卸载、重新安装和更新 cocoapods 但同样的错误 (我在我的 Windows 10 上使用 VMware Workstation):

Dimensionss-Mac:messagingapp dimensionssolutions$ pod install
Analyzing dependencies
Downloading dependencies
Installing Firebase (3.9.0)
Installing FirebaseAnalytics (3.5.1)
Installing FirebaseAuth (3.0.6)
Installing FirebaseCore (3.4.4)
Installing FirebaseDatabase (3.1.0)
Installing FirebaseInstanceID (1.0.8)

[!] Error installing FirebaseInstanceID
[!] /usr/bin/curl -f -L -o /var/folders/4x/vybryg713852s0_hg7_bxzrm0000gn/T/d20161107-18506-2i097m/file.tgz https://www.gstatic.com/cpdc/18da95d517c54d0f/FirebaseInstanceID-1.0.8.tar.gz --create-dirs --netrc-optional

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (60) SSL certificate problem: Invalid certificate chain
More details here: https://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

Dimensionss-Mac:messagingapp dimensionssolutions$

这是我的 podfile:

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

target 'messagingapp' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for messagingapp

    pod 'Firebase/Database'
    pod 'Firebase/Auth'
    pod 'Firebase/Storage'

  target 'messagingappTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'messagingappUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

【问题讨论】:

【参考方案1】:

我在想使用 AdMob 时也遇到了类似的问题。

我通过这种方法解决了:将'pod install'替换为'pod update'

你可以试试!

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '7.0'

target 'NativeAdvancedExample' do
    pod 'Firebase/Core'
    pod 'Firebase/AdMob'
end

Problem screenshots

Resolve the problem

【讨论】:

其实我做了很多次,但问题出在VMware设置上。谢谢您的回答。 @Yuns Chou【参考方案2】:

问题出在 VMWare 设置中。这些步骤解决了我的问题:

1 选择虚拟机并选择VM > 设置。 2 关于 硬件标签,选择网络适配器。 3 选择 桥接:已连接 直接连接到物理网络。 4 如果您在 笔记本电脑或其他移动设备,选择复制物理网络 连接状态。此设置会导致更新 IP 地址 当您从一个有线或无线网络转移到另一个时。 5 点击 确定保存您的更改。

https://pubs.vmware.com/workstation-9/index.jsp?topic=%2Fcom.vmware.ws.using.doc%2FGUID-826323AD-D014-475D-8909-DFA73B5A3A57.html

【讨论】:

【参考方案3】:

您的 podfile 看起来有点奇怪,请尝试使用以下代码使其更简单:

use_frameworks!

target 'messagingapp' do

pod 'Firebase/Database'
pod 'Firebase/Auth'
pod 'Firebase/Storage'

end

这应该适合你

【讨论】:

只有当我尝试安装 Firebase/Database 或 Firebase/Auth 或 Firebase/Storage 之类的“firebase/xxx”pod 时才会出现此错误。 顺便说一下,我的 podfile 是默认的(使用:pod init)我只在其中添加了 pod 并更改了平台版本 @dorydaniel 再次尝试重新安装您的 cocoapods,我知道他们最近进行了更新。只需调用“sudo gem install cocoapods”然后尝试:)

以上是关于安装 FirebaseInstanceID 时出错的主要内容,如果未能解决你的问题,请参考以下文章

FirebaseInstanceID 无法使用 cocoapods 正确安装

E/FirebaseInstanceId:获取 FIS 身份验证令牌失败

解决以下错误:FirebaseInstanceId:令牌检索失败:SERVICE_NOT_AVAILABLE。将重试令牌检索

FirebaseInstanceId.getInstanceId()与连接到iPhone WearOS设备上SERVICE_NOT_AVAILABLE失败

错误:ios 上没有这样的模块“FirebaseInstanceID”

FirebaseInstanceId:后台同步失败:SERVICE_NOT_AVAILABLE