尝试学习iOS开发,但我有以下问题
webview.load(URLRequest(url: url))
< - 视图仍为空
这是我正在使用的代码。我使用故事板添加webkit视图(因为Web View被折旧),但它不能按预期工作。使用loadHTMLString工作
import UIKit
import WebKit
class ViewController: UIViewController {
@IBOutlet weak var webview: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = URL(string: "https://www.stackoverflow.com")!
//load html string works
//webview.loadHTMLString("<h1>Hello world!</h1>hi Marc", baseURL: nil)
//load urlrequest does not work, no error, but empty view
webview.load(URLRequest(url: url))
}
答案 0 :(得分:1)
根据WWDC上的这次演讲https://developer.apple.com/videos/play/wwdc2016/706/,您需要在Info.plist文件中添加此代码:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
您可以通过以下方式添加:
希望这能帮到你;)
修改强>
这适用于带http的网址。网址https://www.stackoverflow.com/有效,因为它有https。 http://www.stackoverflow.com/如果没有&#39;或NSAppTransportSecurity
。
答案 1 :(得分:1)
似乎给定网址存在问题。我已经检查过其他网址了 https://www.myntra.com https://www.google.com https://www.apple.com。所有都使用相同的代码,但https://www.stackoverflow.com不起作用。因此,Stackoverflow的网站可能会基于Web浏览器进行一些过滤。