運行環境:Xcode Version 7.3.1 (7D1014)
使用NSURL進行數據請求數據代碼:
-(NSData *)requestData{ NSURL *url = [NSURL URLWithString:@"http://easyread.ph.126.net/seRpubnsz_WwJGz7fexyeg==/7696583593456123398.jpg"]; NSData *data = [NSData dataWithContentsOfURL:url]; return data; }
報錯:
2016-07-04 17:11:44.325 testMultiThread[2904:173072] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
原因:Xcode版本的新特性要求App內訪問網絡請求,要采用 HTTPS 協議。
但是現在公司的項目使用的是 HTTP 協議,使用私有加密方式保證數據安全。現在也不能馬上改成 HTTPS 協議傳輸。
最終找到以下解決辦法:
1、在Info.plist中添加 NSAppTransportSecurity 類型 Dictionary ;
在info.plist中添加 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
2、在 NSAppTransportSecurity 下添加 NSAllowsArbitraryLoads 類型Boolean ,值設為 YES;
運行結果: