【问题标题】:Upgrade to Angular/FIre V7 and Firebase V9 for Ionic/Capacitor App not working on iOS升级到 Angular/FIre V7 和 Firebase V9 for Ionic/Capacitor App 无法在 iOS 上运行
【发布时间】:2021-11-29 14:58:45
【问题描述】:

我有一个 Ionic 5/Angular 12/Capacitor 3 移动应用程序,我正在升级到 Firebase 9 和 Angular/Fire 7。使用 Angular/Fire 升级命令:ng update @angular/fire,它使用 Firebase compat 层,应用程序在运行ionic serve 的浏览器中运行良好。接下来,我创建了一个生产版本来在我的手机上进行测试,ionic cap sync --prod,并构建到我的 Android 和 iPhone 上。该应用程序在 Android 上完美运行,但不适用于我的 iPhone、X 和 6S。稍微调试一下,表明没有来自 Firestore 的响应,包括没有错误消息。我们甚至构建了应用程序并推送到 TestFlight,并在 iPhone 上看到了同样无法运行的应用程序。

有趣的是,直接在我的 iPhoneX 上运行 ionic cap run ios -l --external --prod 确实有效!

该应用仅使用 Firebase 的 Firestore 部分。用户身份验证在不同的后端执行并正常工作。

相关依赖:

"@angular/...": "^12.0.1",
"@angular/fire": "^7.1.0",
"@capacitor/...": "^3.0.0",
"@ionic/angular": "^5.6.7",
"firebase": "^9.1.0",

NgModule 导入:

    provideFirebaseApp(() => initializeApp(environment.firebase)),
    provideFirestore(() => {
      const firestore = getFirestore();
      enableIndexedDbPersistence(firestore);
      return firestore;
    }),

我在 iPhoneX 上运行 Xcode 13.0 和 iOS 15.0.1,在 iPhone6S 上运行 14.6。

我已尝试删除兼容层并直接转到 Firestore 的新 Angular/Fire 7 api。但结果相同。

即使是关于我可以尝试获得更多见解的建议也将受到欢迎。

【问题讨论】:

    标签: angular firebase ionic-framework angularfire capacitor


    【解决方案1】:

    我完全移除了 Angular/Fire 兼容层,将所有 Firestore 调用转换为使用新的模块化 SDK。当我发布我的问题时,我只删除了部分兼容 SDK。

    现在该应用完全不兼容 Angular/Fire V7,它可以在 iOS 和 Android 上运行。

    不确定为什么兼容层会导致 iOS 版本出现问题。

    【讨论】:

    • 你好,我遇到了同样的问题,你是如何删除 Angular/Fire 兼容层的?
    • 我有同样的问题,但我使用 firebase auth,删除了所有兼容的 SDK,仍然有这个问题。
    • 我们没有在应用中使用 Firebase 身份验证,只有 Firestore。我将所有 Firestore api 调用升级到 V7,使用他们的文档作为参考,github.com/angular/angularfire/blob/master/docs/…。我发现实际的 Firebase 文档也很有帮助,firebase.google.com/docs/web/modular-upgrade。 Angular/Fire 7 和 Firebase 9 的 Api 看起来非常相似,至少对于 Firestore 而言。希望这对身份验证也有帮助。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 2021-10-17
    • 2017-01-25
    • 2021-08-31
    • 2021-03-29
    • 2019-02-18
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多