Firebase ionic iOS 错误 - [FIRApp isDataCollectionDefaultEnabled]:无法识别的选择器

Posted

技术标签:

【中文标题】Firebase ionic iOS 错误 - [FIRApp isDataCollectionDefaultEnabled]:无法识别的选择器【英文标题】:Firebase ionic iOS ERROR -[FIRApp isDataCollectionDefaultEnabled]: unrecognized selector 【发布时间】:2020-08-11 16:10:12 【问题描述】:

当我尝试在 Xcode 中运行 ionic 项目时,出现错误: Thread 1: Exception: "-[FIRApp isDataCollectionDefaultEnabled]: unrecognized selector sent to instance 0x600002c859e0"

我在 config.xml 中的 pod:

        <pod name="GoogleSignIn" version="4.4.0" />
        <pod name="GoogleAppUtilities" />
        <pod name="GoogleAuthUtilities" />
        <pod name="GoogleUtilities" />
        <pod name="Firebase/Auth" />
        <pod name="Firebase/Analytics" version="4.2.0" />
        <pod name="Firebase/Core" />
        <pod name="Firebase/Performance" />
        <pod name="Firebase/RemoteConfig" />
        <pod name="FBSDKCoreKit" version="5.8.0" />
        <pod name="FBSDKLoginKit" version="5.8.0" />
        <pod name="FBSDKShareKit" version="5.8.0" />

我的与ios相关的package.json:

    "cordova-browser": "^5.0.4",
    "cordova-ios": "6.1.0",
    "cordova-plugin-add-swift-support": "^2.0.2",
    "cordova-plugin-advanced-http": "^2.5.1",
    "cordova-plugin-browsertab": "^0.2.0",
    "cordova-plugin-buildinfo": "^4.0.0",
    "cordova-plugin-camera": "^4.1.0",
    "cordova-plugin-cleartext": "^1.0.0",
    "cordova-plugin-cocoapod-support": "^1.6.2",
    "cordova-plugin-compat": "^1.2.0",
    "cordova-plugin-facebook4": "^6.4.0",
    "cordova-plugin-file": "^6.0.2",
    "cordova-plugin-file-transfer": "^1.7.1",
    "cordova-plugin-firebase": "^2.0.5",
    "cordova-plugin-firebase-analytics": "^4.3.1",
    "cordova-plugin-firebase-authentication": "^3.3.1",
    "cordova-plugin-googleplus": "^7.0.2",
    "cordova-plugin-ionic-webview": "^4.2.1",
    "cordova-plugin-photo-library-sism": "^2.2.97",
    "cordova-plugin-telerik-imagepicker": "^2.3.3",
    "cordova-res": "^0.15.1",

我想做什么:

在“platforms/iOS/Resource”文件中使用 GoogleService-Info.plist 创建文件夹“Resource”; 更改文件->工作区设置->构建系统从“新构建系统”到“旧构建系统”; 运行这样的命令:pod deintegrate &amp;&amp; pod cache clean --allpod install; 我修复了所有带有 pod 的警告(添加了 $(inherited)) 已尝试删除 pod 中的所有版本。请参阅 Podfile.lock

我不知道发生了什么。请帮帮我。

Podfile.lock

  - FBSDKCoreKit (5.8.0):
    - FBSDKCoreKit/Basics (= 5.8.0)
    - FBSDKCoreKit/Core (= 5.8.0)
  - FBSDKCoreKit/Basics (5.8.0)
  - FBSDKCoreKit/Core (5.8.0):
    - FBSDKCoreKit/Basics
  - FBSDKLoginKit (5.8.0):
    - FBSDKLoginKit/Login (= 5.8.0)
  - FBSDKLoginKit/Login (5.8.0):
    - FBSDKCoreKit (~> 5.0)
  - FBSDKShareKit (5.8.0):
    - FBSDKShareKit/Share (= 5.8.0)
  - FBSDKShareKit/Share (5.8.0):
    - FBSDKCoreKit (~> 5.0)
  - Firebase/Analytics (4.2.0):
    - Firebase/Core
  - Firebase/Auth (4.2.0):
    - Firebase/Core
    - FirebaseAuth (= 4.2.0)
  - Firebase/Core (4.2.0):
    - FirebaseAnalytics (= 4.0.3)
    - FirebaseCore (= 4.0.7)
  - Firebase/Performance (4.2.0):
    - Firebase/Core
    - FirebasePerformance (= 1.0.5)
  - Firebase/RemoteConfig (4.2.0):
    - Firebase/Core
    - FirebaseRemoteConfig (= 2.0.3)
  - FirebaseAnalytics (4.0.3):
    - FirebaseCore (~> 4.0)
    - FirebaseInstanceID (~> 2.0)
    - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
    - nanopb (~> 0.3)
  - FirebaseAuth (4.2.0):
    - FirebaseAnalytics (~> 4.0)
    - "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)"
    - GTMSessionFetcher/Core (~> 1.1)
  - FirebaseCore (4.0.7):
    - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
    - nanopb (~> 0.3)
  - FirebaseInstanceID (2.0.10):
    - FirebaseCore (~> 4.0)
  - FirebasePerformance (1.0.5):
    - FirebaseAnalytics (~> 4.0)
    - FirebaseInstanceID (~> 2.0)
    - GoogleToolboxForMac/Logger (~> 2.1)
    - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
    - GTMSessionFetcher/Core (~> 1.1)
    - Protobuf (~> 3.1)
  - FirebaseRemoteConfig (2.0.3):
    - FirebaseAnalytics (~> 4.0)
    - FirebaseInstanceID (~> 2.0)
    - "GoogleToolboxForMac/NSData+zlib (~> 2.1)"
    - Protobuf (~> 3.1)
  - GoogleAppUtilities (1.1.2):
    - GoogleSymbolUtilities (~> 1.1)
  - GoogleAuthUtilities (2.0.2):
    - GoogleNetworkingUtilities (~> 1.2)
    - GoogleSymbolUtilities (~> 1.1)
  - GoogleNetworkingUtilities (1.2.2):
    - GoogleSymbolUtilities (~> 1.1)
  - GoogleSignIn (4.4.0):
    - "GoogleToolboxForMac/NSDictionary+URLArguments (~> 2.1)"
    - "GoogleToolboxForMac/NSString+URLArguments (~> 2.1)"
    - GTMSessionFetcher/Core (~> 1.1)
  - GoogleSymbolUtilities (1.1.2)
  - GoogleToolboxForMac/DebugUtils (2.2.2):
    - GoogleToolboxForMac/Defines (= 2.2.2)
  - GoogleToolboxForMac/Defines (2.2.2)
  - GoogleToolboxForMac/Logger (2.2.2):
    - GoogleToolboxForMac/Defines (= 2.2.2)
  - "GoogleToolboxForMac/NSData+zlib (2.2.2)":
    - GoogleToolboxForMac/Defines (= 2.2.2)
  - "GoogleToolboxForMac/NSDictionary+URLArguments (2.2.2)":
    - GoogleToolboxForMac/DebugUtils (= 2.2.2)
    - GoogleToolboxForMac/Defines (= 2.2.2)
    - "GoogleToolboxForMac/NSString+URLArguments (= 2.2.2)"
  - "GoogleToolboxForMac/NSString+URLArguments (2.2.2)"
  - GoogleUtilities (6.7.1):
    - GoogleUtilities/AppDelegateSwizzler (= 6.7.1)
    - GoogleUtilities/Environment (= 6.7.1)
    - GoogleUtilities/ISASwizzler (= 6.7.1)
    - GoogleUtilities/Logger (= 6.7.1)
    - GoogleUtilities/MethodSwizzler (= 6.7.1)
    - GoogleUtilities/Network (= 6.7.1)
    - "GoogleUtilities/NSData+zlib (= 6.7.1)"
    - GoogleUtilities/Reachability (= 6.7.1)
    - GoogleUtilities/SwizzlerTestHelpers (= 6.7.1)
    - GoogleUtilities/UserDefaults (= 6.7.1)
  - GoogleUtilities/AppDelegateSwizzler (6.7.1):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
  - GoogleUtilities/Environment (6.7.1):
    - PromisesObjC (~> 1.2)
  - GoogleUtilities/ISASwizzler (6.7.1)
  - GoogleUtilities/Logger (6.7.1):
    - GoogleUtilities/Environment
  - GoogleUtilities/MethodSwizzler (6.7.1):
    - GoogleUtilities/Logger
  - GoogleUtilities/Network (6.7.1):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (6.7.1)"
  - GoogleUtilities/Reachability (6.7.1):
    - GoogleUtilities/Logger
  - GoogleUtilities/SwizzlerTestHelpers (6.7.1):
    - GoogleUtilities/MethodSwizzler
  - GoogleUtilities/UserDefaults (6.7.1):
    - GoogleUtilities/Logger
  - GTMSessionFetcher/Core (1.4.0)
  - nanopb (0.3.9011):
    - nanopb/decode (= 0.3.9011)
    - nanopb/encode (= 0.3.9011)
  - nanopb/decode (0.3.9011)
  - nanopb/encode (0.3.9011)
  - PromisesObjC (1.2.9)
  - Protobuf (3.12.0)

【问题讨论】:

【参考方案1】:

删除version="4.2.0"

该版本的 Firebase 已经使用了三年多。如果您真的希望旧版本能够正常工作,您可能需要检查 Podfile.lock 并将其他一些 pod 限制为旧版本。

【讨论】:

我有同样的错误,我删除了所有版本。我将我的 Podfile.lock 添加到问题中。 Podfile.lock 仍显示 Firebase 的 4.2 版。当前版本是 6.30。也许运行pod update

以上是关于Firebase ionic iOS 错误 - [FIRApp isDataCollectionDefaultEnabled]:无法识别的选择器的主要内容,如果未能解决你的问题,请参考以下文章

Ionic + Firebase 推送通知错误找不到任何与 com.google.firebase:firebase-core:+ 匹配的版本

未找到模块:错误:无法解析“@firebase/app”Ionic Firebase

运行时错误:Object(...) 不是函数 Ionic/Firebase/Angular

ionic / firebase ipv6 Auth ios app 拒绝

无法使用Firebase部署Ionic应用程序找不到包名称的匹配客户端

在 ionic cordova 和 firebase 中为 iOS 应用程序设置推送通知