这是我假设的一个非常简单的问题.有人可以告诉我部署目标的含义.如果我选择IOS 10,这是否意味着只有拥有iOS 10的用户才能下载该应用.选择较低的部署目标是不是很糟糕?另外,继续部署目标,不建议在较低的部署目标上运行.
我正在尝试加载WKWebView,但我的模拟器(iPhone 6 - iOS 10.2)一直显示空白屏幕.我只能看到水平和垂直滚动条,好像webview很宽但是空的.
App Transport Security Settings > Allow Arbitrary Loads在info.plist文件中设置为YES.
这是我的代码
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string: "https://www.google.co.uk")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了几个在线发现的代码,甚至下载了简单的WKWebView xcodeproj,但我总是遇到同样的问题.
我可以在浏览器中加载网站(https://www.google.co.uk).也尝试使用.com扩展名或.co.uk扩展名.
编辑:在设备上完美运行,但不在模拟器上
出于某种原因,我的应用程序中的 WKWebView 不会显示任何网站,如“ https://www.google.com.au ”。我曾尝试将 info.plist 中的“允许任意加载”更改为“是”,但这并没有解决问题。
请帮忙!!!!!谢谢
我的代码:
import UIKit
import WebKit
class ViewController: UIViewController {
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
displayWebPage()
}
private func displayWebPage() {
let url = URL(string: "https://www.google.com.au")
let request = URLRequest(url: url!)
webView.load(request)
}
}
Run Code Online (Sandbox Code Playgroud)
故事板截图:

我的应用程序使用WKWebView在代码中设置的(这是因为iOS 10 中的这个错误):
final class HelpViewController: UIViewController {
// …
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview(webView)
let margins = view.layoutMarginsGuide
webView.topAnchor.constraint(equalTo: self.back.bottomAnchor).isActive = true
webView.rightAnchor.constraint(equalTo: margins.rightAnchor).isActive = true
webView.leftAnchor.constraint(equalTo: margins.leftAnchor).isActive = true
webView.bottomAnchor.constraint(equalTo: margins.bottomAnchor).isActive = true
webView.navigationDelegate = self
//…
}
Run Code Online (Sandbox Code Playgroud)
我的 UI 测试如下所示:
func test_helpButtonShowsHelpText() {
//…
let webView = shopEasyApp.webViews.element
let webViewExists = webView.waitForExistence(timeout: kDefaultUITestTimeout)
XCTAssert(webViewExists, "Web view …Run Code Online (Sandbox Code Playgroud) 我有一个部署目标版本的应用/项目 - iOS 10.
我曾经使用过UIWebView,现在已被弃用并被替换为WKWebView.所以,我想在我的项目中用UIWView替换WKWebView.
它迫使我使用UIWebView(使用iOS 10)或将部署目标更改为iOS 11.
我不能改变部署目标,但作为中间件解决方案,我添加了代码(编程)支持.我的意思是,如果用户的设备操作系统是iOS 11(或更高版本),则使用WKWebView其他用途UIWebView(适用于iOS 10或更低版本).
问题陈述:故事板的视图控制器不支持这两个版本,我的意思是,在故事板中,如果我将View控制器的部署目标设置为iOS 11,那么应用程序在iOS 10中崩溃(显而易见)应该崩溃,如果我将视图控制器的部署目标设置为iOS 10,那么storyboard不允许我构建项目.
对于iOS 10,WKWebView向我显示此错误:Xcode 9 GM - WKWebView NSCoding支持在以前的版本中被破坏
问题:如何使故事板(视图控制器)WKWebView用于iOS 11和UIWebViewiOS 10?故事板(视图控制器)中是否有任何配置设置或选项可以允许我添加两个接口插座?