【问题标题】:GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h' file > not foundGoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h' 文件 > 未找到
【发布时间】:2020-11-04 09:41:31
【问题描述】:

将 react-native-firebase 迁移到 @react-native-firebase 之后

出现错误

/Users/samridhgupta/Work/Development/TCD/classroom-door-react-native/ios/Pods/Headers/Private/GoogleUtilities/GULAppDelegateSwizzler.h:19:9: “GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h”文件 没找到

存档

Pod > GoogleUtilities > AppDelegateSwizzler

#import "GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h"

PodLock 文件有这些包 (GoogleUtilities/AppDelegateSwizzler)

尝试通过删除 Podlock 文件然后运行 ​​Pod 安装来重置 Pod。 另外还尝试删除 DerivedData 仍然存在问题 挂锁文件的要点

     - Firebase/Core (6.27.1):
    - Firebase/CoreOnly
    - FirebaseAnalytics (= 6.6.2)
  - Firebase/CoreOnly (6.27.1):
    - FirebaseCore (= 6.8.1)
  - Firebase/Database (6.27.1):
    - Firebase/CoreOnly
    - FirebaseDatabase (~> 6.3.0)
  - Firebase/Firestore (6.27.1):
    - Firebase/CoreOnly
    - FirebaseFirestore (~> 1.16.0)
  - Firebase/Functions (6.27.1):
    - Firebase/CoreOnly
    - FirebaseFunctions (~> 2.6.0)
  - Firebase/Messaging (6.27.1):
    - Firebase/CoreOnly
    - FirebaseMessaging (~> 4.5.0)
  - Firebase/Storage (6.27.1):
    - Firebase/CoreOnly
    - FirebaseStorage (~> 3.7.0)
  - FirebaseAnalytics (6.6.2):
    - FirebaseCore (~> 6.8)
    - FirebaseInstallations (~> 1.4)
    - GoogleAppMeasurement (= 6.6.2)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.0)
    - GoogleUtilities/MethodSwizzler (~> 6.0)
    - GoogleUtilities/Network (~> 6.0)
    - "GoogleUtilities/NSData+zlib (~> 6.0)"
    - nanopb (~> 1.30905.0)
  - FirebaseAuth (6.6.0):
    - FirebaseCore (~> 6.8)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.5)
    - GoogleUtilities/Environment (~> 6.5)
    - GTMSessionFetcher/Core (~> 1.1)
  - FirebaseCore (6.8.1):
    - FirebaseCoreDiagnostics (~> 1.3)
    - GoogleUtilities/Environment (~> 6.5)
    - GoogleUtilities/Logger (~> 6.5)
  - FirebaseCoreDiagnostics (1.5.0):
    - GoogleDataTransport (~> 7.0)
    - GoogleUtilities/Environment (~> 6.7)
    - GoogleUtilities/Logger (~> 6.7)
    - nanopb (~> 1.30905.0)
  - FirebaseDatabase (6.3.0):
    - FirebaseCore (~> 6.8)
    - leveldb-library (~> 1.22)
  - FirebaseFirestore (1.16.1):
    - abseil/algorithm (= 0.20200225.0)
    - abseil/base (= 0.20200225.0)
    - abseil/memory (= 0.20200225.0)
    - abseil/meta (= 0.20200225.0)
    - abseil/strings/strings (= 0.20200225.0)
    - abseil/time (= 0.20200225.0)
    - abseil/types (= 0.20200225.0)
    - FirebaseCore (~> 6.8)
    - "gRPC-C++ (~> 1.28.0)"
    - leveldb-library (~> 1.22)
    - nanopb (~> 1.30905.0)
  - FirebaseFunctions (2.6.0):
    - FirebaseCore (~> 6.8)
    - GTMSessionFetcher/Core (~> 1.1)
  - FirebaseInstallations (1.5.0):
    - FirebaseCore (~> 6.8)
    - GoogleUtilities/Environment (~> 6.7)
    - GoogleUtilities/UserDefaults (~> 6.7)
    - PromisesObjC (~> 1.2)
  - FirebaseInstanceID (4.5.0):
    - FirebaseCore (~> 6.8)
    - FirebaseInstallations (~> 1.0)
    - GoogleUtilities/Environment (~> 6.7)
    - GoogleUtilities/UserDefaults (~> 6.7)
  - FirebaseMessaging (4.5.0):
    - FirebaseCore (~> 6.8)
    - FirebaseInstanceID (~> 4.3)
    - GoogleUtilities/AppDelegateSwizzler (~> 6.5)
    - GoogleUtilities/Environment (~> 6.5)
    - GoogleUtilities/Reachability (~> 6.5)
    - GoogleUtilities/UserDefaults (~> 6.5)
    - Protobuf (>= 3.9.2, ~> 3.9)
  - FirebaseStorage (3.7.0):
    - FirebaseCore (~> 6.8)
    - GTMSessionFetcher/Core (~> 1.1)

如果您需要任何其他可以帮助我解决此问题的详细信息,请发表评论

【问题讨论】:

  • 今天升级到最新版本后同样的问题。
  • 我们看到了类似的
  • @RickLove 已升级到 RN 0.63 并将 RN-firebase 升级到最新版
  • 此问题已在 GoogleUtilities 6.7.1 中得到修复 - 这应该不再是问题

标签: ios firebase react-native firebase-authentication


【解决方案1】:

目前,您可以通过更改文件 GULAppDelegateSwizzler.h 中的代码来解决问题

#import "GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h"
->
#import "GoogleUtilities/GULApplication.h"

【讨论】:

  • 但是更改库锁定的文件将结束这些更改,而不是在 GIT 上跟踪
  • 虽然这不是一个好的解决方案。至少我可以在 pod 文件中编写一个脚本来自动执行此操作,而不必再浪费一天时间试图弄清楚如何让它工作。
  • 我在另一个答案中添加了一个脚本:stackoverflow.com/a/62917414/567524
  • 这会破坏什么吗?
【解决方案2】:

试试 6.6.0,它对我有用

pod 'GoogleUtilities', '6.6.0'

【讨论】:

  • 但 podlock 文件包含 GoogleUtilities/Environment (~> 6.7) 等指向高于 6.6 的版本
  • 和 GoogleUtilities/UserDefault 一样
【解决方案3】:

这是一个脚本,它将自动进行更新(由https://stackoverflow.com/a/62906019/567524 建议)并将存在于源代码控制之下:

在您的 podfile 中,将其添加到 post_install:

  post_install do |installer|
    ...

    # Workarounds
    puts 'FIX Version Incompatibility with Firebase and GoogleUtilities (6.7.0)'
    system("sed -i '' s=GoogleUtilities/AppDelegateSwizzler/Private/GULApplication.h=GoogleUtilities/GULApplication.h=g ./Pods/GoogleUtilities/GoogleUtilities/AppDelegateSwizzler/Private/GULAppDelegateSwizzler.h")
  end

【讨论】:

    【解决方案4】:

    如果有人在带有 Firebase 插件的 Cordova 项目中遇到这种情况,您需要将 Firebase/Core pod 降级到版本 6.0.0,即替换:

    <pod name="Firebase/Core" version="~> 6.0.0" />
    

    <pod name="Firebase/Core" version="6.0.0" />
    

    config.xml 文件中。

    【讨论】:

      【解决方案5】:

      AppDelegateSwizzler 的路径似乎在这里更改了https://github.com/firebase/firebase-ios-sdk/commit/3f556ddb9e4a79ed282e674b483ea99c7ae1f8c8#diff-8a5c430b661a4b0572837ada64f3cc95

      升级到 FirebaseAuth 6.7(从 6.6)为我解决了这个问题。

      【讨论】:

      • 在 react-native 0.63 上添加这些 pod 是自动完成的,那么我应该在哪里将这个 FirebaseAuth 6.6 更改为 6.7 ?以便可以将这些更改跟踪到 git all
      【解决方案6】:

      看起来这可能刚刚修复。上游有一个错误,他们已经修复了。

      https://github.com/firebase/firebase-ios-sdk/pull/6051

      您应该能够运行它来获得固定版本。

      pod update

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-02
        • 2021-06-22
        • 1970-01-01
        • 2021-05-14
        • 2016-07-21
        • 1970-01-01
        • 2022-01-17
        相关资源
        最近更新 更多