Ios authorizationController委托未完成授权参数授权的类型是什么:A授权?
我在Delphi下工作,我试图了解Ios authorizationController委托未完成授权参数授权的类型是什么:A授权?,ios,objective-c,swift,xcode,ios13,Ios,Objective C,Swift,Xcode,Ios13,我在Delphi下工作,我试图了解ASAuthorizationControllerDelegate的didpletewithauthorization委托中的authorization:ASAuthorization参数到底是什么 // ASAuthorizationControllerDelegate function for successful authorization func authorizationController(controller: ASAuthorizationCo
ASAuthorizationControllerDelegate的didpletewithauthorization
委托中的authorization:ASAuthorization
参数到底是什么
// ASAuthorizationControllerDelegate function for successful authorization
func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
// Create an account in your system.
let userIdentifier = appleIDCredential.user
let userFirstName = appleIDCredential.fullName?.givenName
let userLastName = appleIDCredential.fullName?.familyName
let userEmail = appleIDCredential.email
//Navigate to other view controller
} else if let passwordCredential = authorization.credential as? ASPasswordCredential {
// Sign in using an existing iCloud Keychain credential.
let username = passwordCredential.user
let password = passwordCredential.password
//Navigate to other view controller
}
}
我在这里不完全理解的是,它的确切含义
if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
及
这是不是意味着,授权.credential
在继承了两种类型:ASAuthorizationAppleIDCredential
&ASPasswordCredential
还是说授权.credential
只是一个指针,可以是任何类型的对象,我们只需要强制转换这个指针?如何知道对象的类型授权凭证
?在带有授权的场景中,凭证
返回一个ASAuthorizationAppleIDCredential
如苹果文档中所述,
凭据是成功身份验证后提供的有关用户的信息
每个凭证都从授权凭证继承/符合授权凭证
共有3种符合条件的类型:ASAuthorizationAppleIDCredential、ASAuthorizationSingleSignOnCredential和ASPasswordCredential
ASAuthorizationAppleIDCredential:成功的Apple ID身份验证产生的凭证
ASAuthorizationSingleSignOnCredential:成功的单点登录(SSO)身份验证产生的凭据
ASPasswordCredential:我们可以使用它创建具有给定用户名和密码的凭据
您可以根据创建凭证的不同方式键入凭证。如果生成的凭据来自Apple ID身份验证,则可以将cred键入AuthorizationAppleIdCredential。如Apple文档中所述,
凭据是成功身份验证后提供的有关用户的信息
每个凭证都从授权凭证继承/符合授权凭证
共有3种符合条件的类型:ASAuthorizationAppleIDCredential、ASAuthorizationSingleSignOnCredential和ASPasswordCredential
ASAuthorizationAppleIDCredential:成功的Apple ID身份验证产生的凭证
ASAuthorizationSingleSignOnCredential:成功的单点登录(SSO)身份验证产生的凭据
ASPasswordCredential:我们可以使用它创建具有给定用户名和密码的凭据
您可以根据创建凭证的不同方式键入凭证。如果生成的凭据来自Apple ID身份验证,则可以将cred键入ASAuthorizationAppleIDCredential。但代理何时将返回ASPasswordCredential给我?如何在我的代理中拥有ASPasswordCredential?现在我只看到一个AuthorizationAppleIdCredential您可以手动初始化ASPasswordCredential,或者如果您想要一个示例,在执行密钥链凭据共享时会返回该示例。您也可以在创建使用用户名和密码的登录机制时使用此选项。对不起,我不明白:(如何准确地在我的代理中返回ASPasswordCredential?@loki您是否能够理解如何在代理中返回ASPasswordCredential?我正在寻找一个有用的方法。例如,我无法在Juice应用程序中返回它。但是,代理何时将返回我的ASPasswordCredential?我如何获得ASPasswordCre我的代理中的dential?现在我只看到一个AuthorizationAppleIdCredential您可以手动初始化ASPasswordCredential,或者如果您需要示例,在执行密钥链凭据共享时会返回此消息。您也可以在创建使用用户名和密码的登录机制时使用此消息。抱歉,我不明白:(如何准确地在我的代理中返回ASPasswordCredential?@loki您是否能够理解如何在代理中返回ASPasswordCredential?我正在寻找一种有用的方法。例如,我无法在Juice应用程序中返回它。
} else if let passwordCredential = authorization.credential as? ASPasswordCredential {