Ich habe das Problem, wenn ich meinen Xcode auf 7.0 oder iOS 9.0 aktualisiert habe. Irgendwie gab es mir den Titelfehler
"Die Ressource konnte nicht geladen werden, da für die App Transport Security-Richtlinie eine sichere Verbindung erforderlich ist."
Webservice-Methode:
-(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];
}
Der Dienst läuft einwandfrei für frühere Xcode-Versionen und frühere iOS-Versionen. Wenn ich jedoch auf Xcode 7.0 unter iOS 9.0 aktualisiert habe, tritt beim Aufrufen der oben genannten Webdienstmethode das folgende Problem auf. Der protokollierte Fehler, den ich erhalte, ist:
Verbindung fehlgeschlagen: Fehlerdomäne = NSURLErrorDomain Code = -1022 "Die Ressource konnte nicht geladen werden, da für die App Transport Security-Richtlinie eine sichere Verbindung erforderlich ist." Userinfo = {NSUnderlyingError = 0x7fada0f31880 {Fehler Domain = kCFErrorDomainCFNetwork - Code = -1022 "(null)"}, NSErrorFailingURLStringKey = MyServiceURL , NSErrorFailingURLKey = MyServiceURL , NSLocalizedDescription = Die Ressource nicht , weil die Politik App Transport Security geladen werden konnte erfordert die Verwendung eines sicheren Verbindung.}
Ich habe versucht, Fragen und Antworten zu folgen, habe dort jedoch kein Ergebnis erhalten. Gibt es eine Vorabidee, wie ich diesen Service-Anruf-Fehler beheben kann?