尝试在iPad(或任何设备)上运行我的应用程序时遇到一些问题,它在模拟器上按预期运行,因此很奇怪它无法在设备上运行。我想知道是否有人可以指出我正确的方向。我花了很多时间阅读这里所有其他关于相同问题的文章,但是建议的解决方案都无效。
我有一个WKWebView,我正在其中加载本地html文件。在模拟器上,文件已加载,并且一切正常,但是在设备上,我在日志中收到一条消息:
无法为“/”创建沙箱扩展
这是我将代码加载到文件中的代码
override func viewDidLoad() {
super.viewDidLoad()
var path = NSBundle.mainBundle().pathForResource("Login_UK",
ofType: "html")
var url = NSURL(fileURLWithPath: path!)
var request = NSURLRequest(URL: url!)
var theConfiguration = WKWebViewConfiguration()
theConfiguration.userContentController.addScriptMessageHandler(self,
name: "callbackHandler")
webView = WKWebView(frame: self.view.frame,
configuration: theConfiguration)
webView!.loadRequest(request)
self.view.addSubview(webView!)
}
任何帮助将不胜感激
亲切的问候,
迪米塔尔
最佳答案
感谢您尝试回答我的问题的任何人。我已经发布了这是Apple试图修复的WebKit库的错误。但是,我发现了一个很好的解决方法,几乎不需要任何工作。
我打开本地文件并读取其内容,然后将该字符串发送到webView.loadHTMLString方法中,该方法将编译文件中的hmtl。这样,您可以避免iOS无法找到本地文件路径的问题。
这是读取文件然后为有相同问题的任何人打开文件的示例:
let path2 = NSBundle.mainBundle().pathForResource("index", ofType: "html")
var text = String(contentsOfFile: path2!, encoding: NSUTF8StringEncoding, error: nil)!
webView!.loadHTMLString(text, baseURL: url)
亲切的问候,
迪米塔尔
关于ios - Swift WKWebView加载本地文件在设备上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27803341/