Mam problem z aktualizacją Xcode do wersji 7.0 lub iOS 9.0. Jakoś to zaczęło dawać mi tytułowy błąd
„Nie można załadować zasobu, ponieważ zasada bezpieczeństwa aplikacji transportu wymaga użycia bezpiecznego połączenia”
Metoda usługi internetowej:
-(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];
}
Usługa działa poprawnie dla wcześniejszych wersji Xcode i wcześniejszych wersji iOS. Ale kiedy zaktualizowałem Xcode 7.0 do iOS 9.0, zaczęło mi pojawiać się problem, gdy wykonuję połączenie z powyższą metodą usługi internetowej. Błąd, który otrzymuję, to:
Połączenie nie powiodło się: Błąd Domena = NSURLErrorDomain Code = -1022 „Nie można załadować zasobu, ponieważ zasady zabezpieczeń transportu aplikacji wymagają bezpiecznego połączenia”. UserInfo = {NSUnderlyingError = 0x7fada0f31880 {Domena błędu = kCFErrorDomainCFNetwork Code = -1022 "(null)"}, NSErrorFailingURLStringKey = MyServiceURL , NSErrorFailingURLKey = MyServiceURL Zabezpieczenie nie wymaga zastosowania bezpieczeństwa, ponieważ nie można użyć tej metody bezpieczeństwa, ponieważ nie można użyć tej usługi. połączenie.}
Próbowałem następujących pytań i odpowiedzi, ale nie uzyskałem żadnego rezultatu, czy jest jakiś pomysł z wyprzedzeniem, jak mogę usunąć ten błąd wezwania serwisu?