在iOS / Swift上,使用sendEmailVerification(with:completion:)时出现意外域错误。我已经使用动态链接手动设置了相关域。
let actionCodeSettings = ActionCodeSettings()
actionCodeSettings.handleCodeInApp = false
email = "user@domain.com"
actionCodeSettings.url = "https://example.page.link/verify?email=\(email)"
user.sendEmailVerification( with: actionCodeSettings )
{
( error ) in
...
}
错误是:
Error Domain = FIRAuthErrorDomain代码= 17038“项目未将其列入白名单” UserInfo = {NSLocalizedDescription =项目未将其列入白名单,error_name = ERROR_UNAUTHORIZED_DOMAIN}),可选(https://example.page.link/verify?email=user@domain.com)
但是,当我使用codesign -d --entitlements
查看二进制文件时,将列出域。
<dict>
<key>application-identifier</key>
<string>MYTEAMID.com.devdomain.example</string>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:example.page.link</string>
</array>
<key>com.apple.developer.team-identifier</key>
<string>MYTEAMID</string>
<key>get-task-allow</key>
<true/>
</dict>
此外,example.page.link/apple-app-site-association显示正确的信息。
是否需要以其他方式告诉Firebase该域已列入白名单?怎么样?
谢谢您的建议!
答案 0 :(得分:1)
实施中存在多个问题。
actionCodeSettings.url
应该是深层链接,而不是FDL链接example.page.link
。example.page.link
。它将始终选择第一个可用的动态链接。