在 Xcode 12 的最新 beta 6 中,尝试恢复 SwiftUI 预览时弹出错误。主要错误似乎是Cannot find type 'ASAuthorizationAppleIDButton' in scope
。在模拟器上构建或运行时,代码编译得非常好,并且没有出现错误。只有当我尝试运行预览时,事情才会起作用。我看到的其他错误是:
Type 'SignInAppleButton' does not conform to protocol 'UIViewRepresentable'
Cannot find type 'ASAuthorizationControllerDelegate' in scope
Cannot find 'ASAuthorizationAppleIDProvider' in scope
Cannot find type 'ASAuthorization' in scope
我有import AuthenticationServices
在我的文件的顶部。重要的一点是,同一个项目在 Xcode 12 beta 1 上运行良好,没有任何错误。
我发现的一个短期解决方案是使用 ASAuth(随后使用 Apple 登录)删除所有代码,并从 Firebase CocoaPods 切换到他们新的 Firebase Swift 包管理器。这使得预览工作。在从 CocoaPods 切换之前,删除 ASAuth 代码后我会收到奇怪的链接器错误。
我的假设是我需要实现 SwiftUI 的新 Signin with Apple 按钮,但根据 Apple 提供的少量文档,我不知道如何使用它。
这是我的代码引用几乎完全相同的网站:https ://www.alfianlosari.com/posts/building-authentication-in-swiftui-using-firebase-auth-sdk-and-sign-in-with-apple/