ios Apple登录未使用Flutter完成

x33g5p2x  于 2022-12-15  发布在  iOS
关注(0)|答案(4)|浏览(171)

我正在开发一个应用程序使用Flutter和Firebase认证。
我尝试在登录页面中添加Apple登录。
我正在学习这个教程https://dev.to/offlineprogrammer/flutter-firebase-authentication-apple-sign-in-1m64
它的工作原理,苹果打开组件,我可以登录到

但是当我想输入密码时,它会无限加载,如果我输入了错误的密码,它会立即失败

我没有任何日志,我的代码卡在

final appleCredential = await siwa.SignInWithApple.getAppleIDCredential(
        scopes: [
          siwa.AppleIDAuthorizationScopes.email,
          siwa.AppleIDAuthorizationScopes.fullName,
        ],
        nonce: nonce,
      );

我在iOS 15.0模拟器上试用了flutter doctor,如下所示

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.5.0, on macOS 11.4 20F71 darwin-arm, locale
    fr-FR)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] Android Studio (version 4.1)
[✓] Android Studio (version 4.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2020.3.2)
[✓] VS Code (version 1.54.1)
[✓] Connected device (2 available)

• No issues found!
vfwfrxfs

vfwfrxfs1#

这是一个迟来的答案,但如果你仍然面对它或任何人来在未来:
最有可能的是你使用的是iOS模拟器,不会登录,无论多少次你试图登录和检查密码一千次,我也有...你需要使用一个真实的的iOS.
另一个建议是,如果你试图发送通知,它也不会在模拟器上工作,这在文档中非常清楚,但仍然有人错过了它。

mepcadol

mepcadol2#

问题出在iOS 14.0/15.0模拟器上,遗憾的是iOS 15.0也没有解决,解决办法是使用iOS 13.0进行模拟器。
1.下载iOS 13.0模拟器。默认情况下,你只有最新的一个,例如iOS 15.0,转到Xcode。左上角,点击xcode,然后首选项,然后点击组件。下载iOS 13.0模拟器。
1.点击跑步者主页,转到常规(在登录和功能旁边)。在部署信息下,检查13.0 iOS版本。
1.转到您的pod文件并在末尾粘贴/编辑此片段

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
    end
  end
end

这会将您的所有配置设置为所需的iOS 13.0版本。
其他所需经费

  • 请确保您已设置开发者Apple帐户

如果你一直跟踪到现在,它应该运行得很好。

nom7f22z

nom7f22z3#

我刚刚通过使用iOS13.0的模拟器解决了这个问题。在使用模拟器时,似乎有一个更高版本的问题,而不是物理设备。
您可以下载并安装模拟器,直至iOS 13.0(Apple Sign-In的最低版本)。在Xcode中:
选择“组件”标签。标记你想要的模拟器。按“检查并立即安装”。

t98cgbkg

t98cgbkg4#

我也遇到了同样的问题,经过一番研究我终于明白,有必要为开发者帐户注册一个电子邮件地址来测试苹果登录

此步骤对于在模拟器或真实的设备上进行Apple登录非常重要

相关问题