0

我遇到了一个奇怪的问题。我正在使用 Flutter 工具创建需要 Firebase 电话身份验证的 iOS 应用程序。我能够毫不费力地让它在其他应用程序平台上运行,但我无法让它在 iOS 真实设备上运行。根据文档,我必须从我所做的开发者帐户中注册一个 APN 密钥,并添加我的应用程序的捆绑 ID。我必须在 Firebase 的应用程序控制台中上传此密钥,我也这样做了。在 Xcode 的项目设置中也输入了 REVERSE_CLIENT_ID,因此模拟器版本可以完美运行。

但是,当要让它在真正的 iPhone 上运行时,我遇到了这个问题

flutter: exception code verifyPhoneNumberError message Invalid token.

我只是无法弄清楚问题所在。需要注意的一点是,出于测试目的,我使用相同的 APN 密钥和不同的 App ID 创建了一个原生 Swift 版本。这可能是一个原因吗?我应该创建一个新的 APN 密钥吗?这会允许我的旧 App ID 吗?

4

1 回答 1

1

我通过做几件事让它工作了。我真的不知道它工作的真正原因是哪一个,但除了官方文档,我还关注了这篇博文https://medium.com/flutter-community/flutter-adding-sign-in-with- google-and-phone-authentication-to-your-app-69f681518f9b寻求帮助并实现了它,因为博主在被问到时提供了额外的帮助。

基本上我为推送通知和 Firebase 电话身份验证创建了一个新的 APN 密钥,然后上传到 Firebase 控制台(删除我的旧的)。后来,博主建议我在我的 Xcode 项目设置中也为远程通知启用后台模式。我不知道这一点,因为我认为推送通知开关就足够了。无论如何,砰!它开始工作了。

于 2018-11-06T01:52:47.370 回答