角度/离子移动应用iOS不能使用AngularFire从Firebase获取

人气:960 发布:2022-10-16 标签: ios angular ionic-framework google-cloud-firestore angularfire2

问题描述

我正在尝试在iOS模拟器上测试一个小的离子/角度示例应用程序。

在Web上,使用angularfire对FireStore的所有请求都工作得很好。

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

这是怎么回事?我是否需要专门设置一些内容才能使仿真程序工作并执行对FiRestore的请求?

推荐答案

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(firebaseApp, {
      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

201