我想在我的应用中进行授权,我使用ASAuthorizationSingleSignOnProvider,
ASAuthorizationSingleSignOnRequest和ASAuthorizationController完成我们的工作。我收到如下错误。
[SOServiceConnection]:XPC连接中断
[SOServiceConnection] XPC错误:错误域= NSCocoaErrorDomain代码= 4099“此进程上与pid 0名为com.apple.AppSSO.service-xpc的服务的连接无效。 UserInfo = {NSDebugDescription =在pid 0上名为com.apple.AppSSO.service-xpc的服务的连接已从此过程中无效。}
[SOAuthorization]没有SPI授权委托
如何修复它。这是我的示例代码。
do
{
ASAuthorizationSingleSignOnProvider *ssoProvider = [ASAuthorizationSingleSignOnProvider
authorizationProviderWithIdentityProviderURL:[NSURL URLWithString:@"OurURL"]];
if(ssoProvider==nil)
{
break;
}
//////////////////////////////////////////////////
ASAuthorizationSingleSignOnRequest *request = [ssoProvider createRequest];
if(request==nil)
{
break;
}
NSURLQueryItem *item1 = [NSURLQueryItem queryItemWithName:@"name1" value:@"value1"];
NSURLQueryItem *item2 = [NSURLQueryItem queryItemWithName:@"name2" value:@"value2"];
NSURLQueryItem *item3 = [NSURLQueryItem queryItemWithName:@"name3" value:@"value3"];
request.requestedScopes = @[ASAuthorizationScopeFullName,ASAuthorizationScopeEmail];
request.authorizationOptions = @[item1,item2,item3];
//////////////////////////////////////////////////
ASAuthorizationController *authorizationController = [[ASAuthorizationController alloc] initWithAuthorizationRequests:@[request]];
if(authorizationController==nil)
{
break;
}
authorizationController.delegate = self;
authorizationController.presentationContextProvider = self;
[authorizationController performRequests];
}
while (0);
谢谢你。