【问题标题】:Angular / Ionic mobile app ios does not fetch from Firebase using angularfireAngular / Ionic 移动应用程序 ios 不使用 angularfire 从 Firebase 获取
【发布时间】:2021-12-15 02:59:40
【问题描述】:

我正在尝试在 iOS 模拟器上测试一个小的 Ionic/Angular 示例应用程序。

在网络上,使用 angularfire 对 firestore 的所有请求都可以正常工作。

不知何故,如果我尝试在模拟器上执行相同的应用程序,它会不断加载请求的响应(如果它是空响应,它会说无法检索到任何结果)。

发生了什么事?我是否需要专门为模拟器设置一些东西才能工作并执行对 Firestore 的请求?

【问题讨论】:

  • 在 safari dev 检查中打开控制台或在 xcode 中查找错误日志
  • 您是否为 IOS 应用添加了 firebase 配置?
  • @Guiditox 是的,firebase 连接作为身份验证请求成功执行,但 firestore 请求不起作用
  • 好的,正如 minsha 所说,我们需要查看更多信息。请与错误共享 Safari 控制台(开发 => 您的计算机 => 模拟器)
  • @Guiditox 控制台中只显示一个错误:TypeError: undefined is not an object (evalating 'gapi.iframes.getContext')

标签: ios angular ionic-framework google-cloud-firestore angularfire2


【解决方案1】:
import { initializeApp } from 'firebase/app';
import { getFirestore } from 'firebase/firestore';
import { Capacitor } from '@capacitor/core';
import { initializeAuth, indexedDBLocalPersistence } from 'firebase/auth';
import { getAuth } from 'firebase/auth';

const firebaseApp = initializeApp({
 apiKey: process.env.VUE_APP_FIREBASE_API_KEY,
 authDomain: process.env.VUE_APP_FIREBASE_AUTH_DOMAIN,
 databaseURL: process.env.VUE_APP_FIREBASE_DATABASE_URL,
 projectId: process.env.VUE_APP_FIREBASE_PROJECT_ID,
 storageBucket: process.env.VUE_APP_FIREBASE_STORAGE_BUCKET,
 messagingSenderId: 
 process.env.VUE_APP_FIREBASE_MESSAGING_SENDER_ID,
 appId: process.env.VUE_APP_FIREBASE_APP_ID,
});


function whichAuth() {
  let auth
  if (Capacitor.isNativePlatform()) {
    auth = initializeAuth(app, {
      persistence: indexedDBLocalPersistence
    })
  } else {
    auth = getAuth()
  }
  return auth
}

export const auth = whichAuth()
const db = getFirestore();

export const auth = whichAuth();
export { firebaseApp, db };

然后在你的组件中,像这样 await signInAnonymously(auth); 调用你的方法。不要忘记导入我们在顶部导出的auth

【讨论】:

  • 如何用 AngularFire 做到这一点?
  • @Sampath 你解决了吗?我使用 AngularFire 遇到同样的错误
  • @ErnestoSchiavo 您可以在此处查看我的解决方法:stackoverflow.com/a/69870562/1077309
  • 各位,除了降级到版本 8 还有其他解决方案吗?
猜你喜欢
  • 2021-04-08
  • 2018-06-22
  • 2016-11-04
  • 1970-01-01
  • 2015-06-05
  • 1970-01-01
  • 1970-01-01
  • 2016-12-09
  • 2022-01-25
相关资源
最近更新 更多