我对文档以及与 Apple 签约时的变量描述中的内容有些困惑。假设我们有一个场景:
Sign in with Apple使用虚假/生成的电子邮件地址。Sign in with Apple但有真实的电子邮件地址。上面链接的文档表明userin ASAuthorizationAppleIDCredentialobject 是我正在寻找的答案:
变量用户:字符串
与经过身份验证的用户关联的标识符。
但 Xcode 也在变量描述中显示:
/** @abstract 与用于登录的 AppleID 关联的不透明用户 ID。此标识符将在“开发人员团队”中保持稳定,稍后可用作 @see ASAuthorizationRequest 的输入以请求用户联系信息。
只要用户与请求客户端连接,标识符就会保持稳定。当用户与身份提供者断开连接时,该值可能会发生变化。 */
打开 var 用户:字符串 { 获取 }
什么actualy在那意味着Sign in with Apple这个as long as the user is connected with the requesting client。根据该描述,我不确定用户是否可以以某种方式注销或更改此值,或者这可能会在设备切换的情况下发生?
我已经在设备和模拟器中进行了测试,并且user值在开发环境中保持不变,但不确定它是如何 bahave IRL ...
macos ios apple-sign-in asauthorizationcontroller sign-in-with-apple
我正在尝试为 iOS13“使用 Apple 登录”功能准备我的应用程序。我已经实现了这些ASAuthorizationControllerDelegate方法并设置了我ASAuthorizationController的委托。当我点击使用 Apple 按钮登录时,输入密码后没有任何反应。密码是正确的(我知道这是因为不正确时字段会抖动),但是没有任何反应。登录对话框不会关闭,也不会调用代表。
@available(iOS 13.0, *)
@objc private func didTapAppleButton() {
let request = ASAuthorizationAppleIDProvider().createRequest()
request.requestedScopes = [.fullName, .email]
let vc = ASAuthorizationController(authorizationRequests: [request])
vc.presentationContextProvider = self
vc.delegate = self
vc.performRequests()
}
Run Code Online (Sandbox Code Playgroud)
还有其他人有这个问题吗?
在 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
Run Code Online (Sandbox Code Playgroud)
我import AuthenticationServices在我的文件的顶部。一个重要的注意事项是,同一个项目在 Xcode 12 beta 1 上运行得非常好,没有任何错误。
我发现的一个短期解决方案是使用 ASAuth(随后与 Apple 登录)删除所有代码,然后从 Firebase CocoaPods 切换到新的 Firebase Swift 包管理器。这使预览工作。在从 CocoaPods 切换之前,我会在删除 ASAuth 代码后收到奇怪的链接器错误。
我的假设是我需要使用Apple按钮实现SwiftUI的新Signin,但是根据Apple提供的小文档,我不知道如何使用它。
这是我的代码引用的网站几乎完全相同:https : //www.alfianlosari.com/posts/building-authentication-in-swiftui-using-firebase-auth-sdk-and-sign-in-with-apple/
firebase swiftui asauthorizationcontroller sign-in-with-apple xcode12