Estou enfrentando o problema quando atualizei meu Xcode para 7.0 ou iOS 9.0. De alguma forma, começou a me dar o erro de título
"O recurso não pôde ser carregado porque a política de segurança de transporte de aplicativos requer o uso de uma conexão segura"
Método Webservice:
-(void)ServiceCall:(NSString*)ServiceName :(NSString *)DataString
{
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
[sessionConfiguration setAllowsCellularAccess:YES];
[sessionConfiguration setHTTPAdditionalHeaders:@{ @"Accept" : @"application/json" }];
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",ServiceURL]];
NSLog(@"URl %@%@",url,DataString);
// Configure the Request
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setValue:[NSString stringWithFormat:@"%@=%@", strSessName, strSessVal] forHTTPHeaderField:@"Cookie"];
request.HTTPBody = [DataString dataUsingEncoding:NSUTF8StringEncoding];
request.HTTPMethod = @"Post";
// post the request and handle response
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
// Handle the Response
if(error)
{
NSLog(@"%@",[NSString stringWithFormat:@"Connection failed: %@", [error description]]);
// Update the View
dispatch_async(dispatch_get_main_queue(), ^{
// Hide the Loader
[MBProgressHUD hideHUDForView:[[UIApplication sharedApplication] delegate].window animated:YES];
});
return;
}
NSArray * cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:request.URL];
for (NSHTTPCookie * cookie in cookies)
{
NSLog(@"%@=%@", cookie.name, cookie.value);
strSessName=cookie.name;
strSessVal=cookie.value;
}
NSString *retVal = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}];
[postDataTask resume];
}
O serviço está funcionando bem para versões anteriores do Xcode e versões anteriores do iOS. Mas, quando atualizei para o Xcode 7.0 no iOS 9.0, ele começou a me dar o problema como a seguir quando eu estou chamando o método de serviço web acima. O erro registrado que estou recebendo é:
Falha na conexão: Erro Domínio = NSURLErrorDomain Code = -1022 "O recurso não pôde ser carregado porque a política de Segurança de Transporte de Aplicativo requer o uso de uma conexão segura." UserInfo = {NSUnderlyingError = 0x7fada0f31880 {Erro Domínio = Código kCFErrorDomainCFNetwork = -1022 "(null)"}, NSErrorFailingURLStringKey = MyServiceURL , NSErrorFailingURLKey = MyServiceURL , NSLocalizedDescription = O recurso não pôde ser carregado porque a política App Transport Security requer o uso de um seguro conexão.}
Tentei as perguntas e respostas a seguir, mas não obtive nenhum resultado, existe alguma ideia prévia de como posso remover esse erro de chamada de serviço?