Obi*_*i E 6 firebase ionic-framework capacitor
在我的 Ionic 5 电容器应用程序中,我有一个调用此函数的按钮
import {
signInWithEmailAndPassword, signOut,
User, UserCredential,
} from '@angular/fire/auth';
Run Code Online (Sandbox Code Playgroud)
//...等等等等等等
async signIn(value)
{
try {alert('signing in')
return (await signInWithEmailAndPassword(this.auth, value.email, value.password)).user
} catch (error) {
alert('what the heck?' + error)
}
}
Run Code Online (Sandbox Code Playgroud)
这在 Web 和 Android 上运行良好(它返回对象并继续)。在iOS模拟器和设备上,它可以与livereload配合使用,但如果没有livereload,它什么也不做,甚至不返回任何内容。会弹出“登录”,但不会从那里继续。
知道为什么会这样吗?
在您的app.module.ts文件中,将以下内容添加到您的导入数组中。
provideAuth(() => {
if (Capacitor.isNativePlatform()) {
return initializeAuth(getApp(), {
persistence: indexedDBLocalPersistence,
});
} else {
return getAuth();
}
}),
Run Code Online (Sandbox Code Playgroud)
并从 导入必要的函数和值@angular/fire/auth。
这是与 Puneet Kushway 类似的解决方案。我发现这个解决方案更好,因为它使您的app.component.ts文件保持整洁。
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |