[解決済み】App Transport Securityポリシーが安全な接続の使用を要求するため、リソースをロードできませんでした。
質問
Xcodeを7.0またはiOS 9.0にアップデートしたときに問題に直面しました。 どういうわけか、次のようなタイトルのエラーが出るようになりました。
リソースは読み込めませんでした。 ポリシーでは、安全な接続の使用が必要です"。
ウェブサービスメソッドです。
-(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の以前のバージョンでは、サービスは正常に動作していましたが、Xcode 7.0 (iOS 9.0)にアップデートしたところ、上記のWebサービスメソッドを呼び出すときに、以下のような問題が発生するようになりました。ログアウトしたエラーは以下の通りです。
接続に失敗しました。Error Domain=NSURLErrorDomain Code=-1022 "接続に失敗しました。 App Transport Security ポリシーにより、リソースを読み込むことができませんでした。 は安全な接続の使用を要求しています。 UserInfo={NSUnderlyingError=0x7fada0f31880 {Error Domain=kCFErrorDomainCFNetwork Code=-1022 "(null)"}, NSErrorFailingURLStringKey=。 マイサービスURL , NSErrorFailingURLKey=。 マイサービスURL , NSLocalizedDescription=リソースが読み込めませんでした。 App Transport Security ポリシーにより、安全な 接続。}
私は次の質問と回答を試みたが、そこに任意の結果を得ることができませんでした、私はそのサービスコールのエラーを削除することができます任意の事前のアイデアがあるのですか?
解決方法は?
私は、info.plistにいくつかのキーを追加することで解決しました。 私が行った手順は以下の通りです。
-
プロジェクトターゲットの
info.plist
ファイル -
というキーを追加しました。
NSAppTransportSecurity
としてDictionary
. -
というサブキーを追加しました。
NSAllowsArbitraryLoads
としてBoolean
に設定し、その値をYES
下図のように
プロジェクトをクリーンアップし、現在はすべて以前のように正常に動作しています。
参考リンク https://stackoverflow.com/a/32609970
EDITです。
または、ソースコード内の
info.plist
ファイルに追加することができます。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
関連
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
[解決済み】Cocoapodsをインストールできない - プロジェクト・ディレクトリにポッドファイルが見つからない
-
[解決済み] Xcode 10でコマンドCompileSwiftが0以外の終了コードで失敗する [重複] 。
-
[解決済み] Xcode コマンド /usr/bin/codesign は終了コード 1 で失敗しました : errSecInternalComponent
-
[解決済み] EXC_CORPSE_NOTIFY シンボルのクラッシュが発生しました、追跡するには?
-
[解決済み] Objective-C ブロックパラメータ 発行 このブロック宣言はプロトタイプではありません
-
[解決済み] swift3におけるセレクタ
-
[解決済み] NSIntegerからNSStringデータ型に変換するにはどうすればよいですか?
-
[解決済み] Objective C - 値で渡す、参照で渡す
-
[解決済み] UIViewAlertForUnsatisfiableConstraintsでトラップする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Xcode 10.2.1 Command PhaseScriptExecutionが0以外の終了コードで失敗した。
-
[解決済み] Xcode 9の問題を修正しました。"iPhoneはビジー状態です。iPhoneのデバッガーサポートを準備中"
-
[解決済み] <UITabBarController: 0x197870> の外観遷移の開始/終了の呼び出しがアンバランスである。
-
[解決済み] swift3におけるセレクタ
-
[解決済み] SwiftでUIColor patternImageを使用して画像を中心からタイル状に配置する方法
-
[解決済み] Stringをformatで作成するには?
-
[解決済み] React native - connection has no connection handler エラーの意味?
-
[解決済み] Xcode 6: iOS 8.1 The Developer Disk Imageをマウントできませんでした。
-
[解決済み] Swift 4 データが正しい形式でないため、読み取ることができませんでした。
-
[解決済み】iOS 9でApp Transport Securityを有効にしてHTTP URLを読み込むにはどうすればいいですか?重複