专家 我尝试学习webview它不能加载给我错误,如:
NSURLConnection完成错误 - 代码-1022
- (void)viewDidLoad {
[super viewDidLoad];
NSString *urlString = @"http://www.sourcefreeze.com";
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[_webView loadRequest:request];
}
答案 0 :(得分:14)
我认为这是关于App Transport Security。因为您的网址不是https。请在info.plist文件中尝试更改
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
答案 1 :(得分:2)
您收到此错误是因为您没有使用https网址。要修复以下步骤:
在 / dict 之前添加以下行:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
答案 2 :(得分:2)
我遇到了类似的问题,
NSURLConnection finished with error - code -1200
我试图到达公司的封锁港口。更改端口可使我正常连接。
答案 3 :(得分:0)
要回答您的问题,我们需要查看完整日志。但我想App Transport Security中的问题。从iOS 9开始,所有连接都应该使用https完成,并且目标URL应该使用大于或等于1.2的TLS版本进行备份,直到您不在App Transport安全性部分的info.plist文件中指定例外。您也可以为所有连接“允许任意加载”,但这种方式不是首选。您可以在https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html(在NSAppTransportSecurity部分中)
中阅读有关此内容的更多详细信息答案 4 :(得分:0)
一些愚蠢的事情,但是尝试如下:
首先,您可以尝试在模拟器上检查问题,即在模拟器中运行应用程序,并检查是否仍然存在问题。
网络内类或您的API调用函数所在的位置 检查是否已实现
request.allHTTPHeaderFields = ["Content-Type" : "application/json"]
右键单击info.plist文件。 选择打开作为源代码。
检查并在下面查找是否存在行
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
如果不存在,则在/ dict之前添加以上行:
此外,检查您的URL是否来自本地服务器,并且您要切换到其他实时URL。
检查设备的互联网连接。