Sto affrontando il problema quando ho aggiornato il mio Xcode a 7.0 o iOS 9.0. In qualche modo ha iniziato a darmi l'errore intitolato
"Impossibile caricare la risorsa perché la politica di sicurezza del trasporto app richiede l'uso di una connessione protetta"
Metodo di servizio web:
-(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];
}
Il servizio funziona correttamente per le versioni precedenti di Xcode e le versioni precedenti di iOS Ma quando ho aggiornato Xcode 7.0 su iOS 9.0, ha iniziato a darmi il problema come segue quando chiamo il metodo di servizio Web sopra riportato. L'errore registrato che sto ottenendo è:
Connessione non riuscita: errore Dominio = Codice NSURLErrorDomain = -1022 "Impossibile caricare la risorsa perché la politica di sicurezza del trasporto app richiede l'uso di una connessione protetta." UserInfo = {NSUnderlyingError = 0x7fada0f31880 {Error Domain = kCFErrorDomainCFNetwork Code = -1022 "(null)"}, NSErrorFailingURLStringKey = MyServiceURL , NSErrorFailingURLKey = MyServiceURL , la politica non può essere utilizzata per la sicurezza. connessione.}
Ho provato a seguire le domande e le risposte ma non ho ottenuto alcun risultato lì, c'è qualche idea anticipata su come posso rimuovere l'errore di chiamata di servizio?