com.apple.AuthenticationServices.Authorization 错误代码 1000
com.apple.AuthenticationServices.Authorization Error Code 1000
我在 DidCompleteWitherror 中收到以下错误:
com.apple.AuthenticationServices.Authorization Error Code 1000
我正在使用以下代码登录 Apple
var appleIdProvider = new ASAuthorizationAppleIdProvider();
var request = appleIdProvider.CreateRequest();
request.RequestedScopes = new ASAuthorizationScope[] { ASAuthorizationScope.Email, ASAuthorizationScope.FullName };
var authController = new ASAuthorizationController(new[] { request });
authController.Delegate = this;
authController.PresentationContextProvider = this;
authController.PerformRequests();
...
[Export("authorizationController:didCompleteWithAuthorization:")]
public void DidComplete(ASAuthorizationController controller, ASAuthorization authorization)
{
...
}
[Export("authorizationController:didCompleteWithError:")]
public void DidComplete(ASAuthorizationController controller, NSError error)
{
...
}
- 我在 Entitlements.plist
中检查了 Apple 登录
- 我在管理控制台中创建了应用程序 ID,验证了我的域。甚至网络身份验证也可以使用。
- 我尝试将配置文件切换为使用 Apple 登录的配置文件。
这个错误可能是什么原因?
不需要 Apple 的验证步骤,尽管他们的文档具有误导性。
您能否尝试 运行 一个新版本并确保创建一个新的配置文件,其中包含更新的功能?
确保 "Apple Sign-in" 权利已添加到您的构建设置中,并添加到开发者门户的 Apple 证书中。
如果您运行正在开发开发版本,请尝试切换到生产版本。您可能需要为 Ad Hoc 分发签署应用程序包并以这种方式安装它。
您可以在 Apple Documentation 中查看,1000 错误代码实际上意味着错误未知,因此此解决方案可能不适合您。就您的代码而言,对我来说似乎没问题!
您也可以 check these samples!
原来是csproj中缺少设置的问题
在这里找到答案:
https://xamarin.github.io/bugzilla-archives/25/25141/bug.html
我打开 csproj 发现一些构建配置缺少 CodesignEntitlements,其中一些是空的:
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
添加它后 to/updating 它在所有构建配置中终于起作用了。
PS:在此之前,我尝试创建空的 xamarin 项目(具有相同的包名称),它在模拟器上重现了该问题。然后我做了 swift 项目(具有相同的包名称)并且工作正常。所以很明显这是 xamarin 特定的错误。
我收到这个错误是因为忘记添加登录功能。
我遇到了同样的问题。
我的代码:
if #available(iOS 13.0, *) {
let appleIDProviderRequest = ASAuthorizationAppleIDProvider().createRequest()
appleIDProviderRequest.requestedScopes = [.fullName, .email]
let passwordProviderRequest = ASAuthorizationPasswordProvider().createRequest()
let requests = [appleIDProviderRequest, passwordProviderRequest]
// Create an authorization controller with the given requests.
let authorizationController = ASAuthorizationController(authorizationRequests: requests)
authorizationController.delegate = self
authorizationController.presentationContextProvider = self
authorizationController.performRequests()
}
我使用 2 个 Apple 帐户测试了这段代码。一个帐户有效,另一个帐户无效。
然后我删除了 ASAuthorizationPasswordProvider().createRequest()
并且问题消失了。我想苹果以后会解决这个问题的。
从在密码和安全设置中使用 apple id 的应用程序中删除应用程序
要删除应用程序,请转至设置 > 配置文件 > 密码和安全性 > 使用 apple id 的应用程序 > 你的应用程序 > 停止使用 apple id
经过搜索我发现它可以在真实设备上运行,有时在模拟器上无法运行。
但我通过登录 here 并删除设备下的模拟器解决了这个问题。然后再次构建它。不要忘记在“签名和功能”中添加“使用 Apple 登录”。
首先,以上所有答案对我来说都是正确的。
其次,我花了几个小时才发现我没有在 release
配置中添加 Sign with Apple ID Entitlements,所以我刚刚完成了这里的操作。
您可以通过下面的any one
查看:
1。在 Xcode
中检查 Signing & capabilities
下的 every tab
2。在vscode(或其他文件工具)中搜索com.apple.developer.applesignin
,您应该找到3 Entitlements files
3。检查vscode(或其他文件工具)中的files in project folder
,您应该找到包含com.apple.developer.applesignin
的3 Entitlements files
。
我用的是Swift,我说一下,有时候在iPhone上登录Apple Id需要Two-Factor授权,所以我的代码是
if #available(iOS 13.0, *) {
let appleIDProvider = ASAuthorizationAppleIDProvider().createRequest()
appleIDProvider.requestedScopes = [.fullName, .email]
//let passwordProvider = ASAuthorizationPasswordProvider().createRequest()
let authorizationController = ASAuthorizationController(authorizationRequests: [appleIDProvider])
authorizationController.delegate = self
authorizationController.presentationContextProvider = self
authorizationController.performRequests()
} else {
// Fallback on earlier versions
}
由于 phone 上的 Apple Id 原因,密码请求 ASAuthorizationPasswordProvider
被注释并跳过了该行。
当需要一个Apple ID需要Two-Factor授权,那么我们就可以请求这个提供者ASAuthorizationPasswordProvider
,我们要删除代码。删除行代码后,所有 运行 工作。
我在 DidCompleteWitherror 中收到以下错误:
com.apple.AuthenticationServices.Authorization Error Code 1000
我正在使用以下代码登录 Apple
var appleIdProvider = new ASAuthorizationAppleIdProvider();
var request = appleIdProvider.CreateRequest();
request.RequestedScopes = new ASAuthorizationScope[] { ASAuthorizationScope.Email, ASAuthorizationScope.FullName };
var authController = new ASAuthorizationController(new[] { request });
authController.Delegate = this;
authController.PresentationContextProvider = this;
authController.PerformRequests();
...
[Export("authorizationController:didCompleteWithAuthorization:")]
public void DidComplete(ASAuthorizationController controller, ASAuthorization authorization)
{
...
}
[Export("authorizationController:didCompleteWithError:")]
public void DidComplete(ASAuthorizationController controller, NSError error)
{
...
}
- 我在 Entitlements.plist 中检查了 Apple 登录
- 我在管理控制台中创建了应用程序 ID,验证了我的域。甚至网络身份验证也可以使用。
- 我尝试将配置文件切换为使用 Apple 登录的配置文件。
这个错误可能是什么原因?
不需要 Apple 的验证步骤,尽管他们的文档具有误导性。
您能否尝试 运行 一个新版本并确保创建一个新的配置文件,其中包含更新的功能?
确保 "Apple Sign-in" 权利已添加到您的构建设置中,并添加到开发者门户的 Apple 证书中。
如果您运行正在开发开发版本,请尝试切换到生产版本。您可能需要为 Ad Hoc 分发签署应用程序包并以这种方式安装它。
您可以在 Apple Documentation 中查看,1000 错误代码实际上意味着错误未知,因此此解决方案可能不适合您。就您的代码而言,对我来说似乎没问题! 您也可以 check these samples!
原来是csproj中缺少设置的问题
在这里找到答案: https://xamarin.github.io/bugzilla-archives/25/25141/bug.html
我打开 csproj 发现一些构建配置缺少 CodesignEntitlements,其中一些是空的:
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
添加它后 to/updating 它在所有构建配置中终于起作用了。
PS:在此之前,我尝试创建空的 xamarin 项目(具有相同的包名称),它在模拟器上重现了该问题。然后我做了 swift 项目(具有相同的包名称)并且工作正常。所以很明显这是 xamarin 特定的错误。
我收到这个错误是因为忘记添加登录功能。
我遇到了同样的问题。
我的代码:
if #available(iOS 13.0, *) {
let appleIDProviderRequest = ASAuthorizationAppleIDProvider().createRequest()
appleIDProviderRequest.requestedScopes = [.fullName, .email]
let passwordProviderRequest = ASAuthorizationPasswordProvider().createRequest()
let requests = [appleIDProviderRequest, passwordProviderRequest]
// Create an authorization controller with the given requests.
let authorizationController = ASAuthorizationController(authorizationRequests: requests)
authorizationController.delegate = self
authorizationController.presentationContextProvider = self
authorizationController.performRequests()
}
我使用 2 个 Apple 帐户测试了这段代码。一个帐户有效,另一个帐户无效。
然后我删除了 ASAuthorizationPasswordProvider().createRequest()
并且问题消失了。我想苹果以后会解决这个问题的。
从在密码和安全设置中使用 apple id 的应用程序中删除应用程序
要删除应用程序,请转至设置 > 配置文件 > 密码和安全性 > 使用 apple id 的应用程序 > 你的应用程序 > 停止使用 apple id
经过搜索我发现它可以在真实设备上运行,有时在模拟器上无法运行。
但我通过登录 here 并删除设备下的模拟器解决了这个问题。然后再次构建它。不要忘记在“签名和功能”中添加“使用 Apple 登录”。
首先,以上所有答案对我来说都是正确的。
其次,我花了几个小时才发现我没有在 release
配置中添加 Sign with Apple ID Entitlements,所以我刚刚完成了这里的操作。
您可以通过下面的any one
查看:
1。在 Xcode
中检查Signing & capabilities
下的 every tab
2。在vscode(或其他文件工具)中搜索com.apple.developer.applesignin
,您应该找到3 Entitlements files
3。检查vscode(或其他文件工具)中的files in project folder
,您应该找到包含com.apple.developer.applesignin
的3 Entitlements files
。
我用的是Swift,我说一下,有时候在iPhone上登录Apple Id需要Two-Factor授权,所以我的代码是
if #available(iOS 13.0, *) {
let appleIDProvider = ASAuthorizationAppleIDProvider().createRequest()
appleIDProvider.requestedScopes = [.fullName, .email]
//let passwordProvider = ASAuthorizationPasswordProvider().createRequest()
let authorizationController = ASAuthorizationController(authorizationRequests: [appleIDProvider])
authorizationController.delegate = self
authorizationController.presentationContextProvider = self
authorizationController.performRequests()
} else {
// Fallback on earlier versions
}
由于 phone 上的 Apple Id 原因,密码请求 ASAuthorizationPasswordProvider
被注释并跳过了该行。
当需要一个Apple ID需要Two-Factor授权,那么我们就可以请求这个提供者ASAuthorizationPasswordProvider
,我们要删除代码。删除行代码后,所有 运行 工作。