Xcodeを7.0またはiOS 9.0にアップデートすると、問題が発生します。どういうわけかそれは私にタイトル付きエラーを与え始めました
「App Transport Securityポリシーでは安全な接続を使用する必要があるため、リソースを読み込めませんでした」
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];
}
Xcode以前のバージョンとiOS以前のバージョンでサービスは正常に動作していますが、iOS 9.0上のXcode 7.0に更新すると、上記のWebサービスメソッドを呼び出すと、次のような問題が発生し始めました。私が得ているログに記録されたエラーは:
接続に失敗しました:エラードメイン= NSURLErrorDomainコード= -1022「App Transport Securityポリシーでは安全な接続を使用する必要があるため、リソースをロードできませんでした。」UserInfo = {NSUnderlyingError = 0x7fada0f31880 {Error Domain = kCFErrorDomainCFNetwork Code = -1022 "(null)"}、NSErrorFailingURLStringKey = MyServiceURL、NSErrorFailingURLKey = MyServiceURL、NSLocalizedDescription =アプリトランスポートセキュリティポリシーで安全なものを使用する必要があるため、リソースをロードできませんでした接続。}
以下の質問と回答を試してみましたが、結果が得られませんでした。サービスコールエラーを削除する方法を事前に教えてください。