ios – Swift WKWebView加载本地文件无法在设备上运行

ios – Swift WKWebView加载本地文件无法在设备上运行,第1张

概述我试图在iPad(或任何设备)上运行我的应用程序时遇到一些问题,它在模拟器上按预期运行,因此它在设备上不起作用很奇怪.我想知道是否有人可以指出我正确的方向.我花了很多时间阅读这里关于相同问题的所有其他帖子,但是没有一个建议的解决方案有效. 我有一个WKWebView,我正在加载一个本地的html文件.在模拟器上加载文件并且一切正常但在设备上我在日志中收到一条消息: 无法为’/’创建沙箱扩展名 这是 我试图在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加载本地文件无法在设备上运行全部内容,希望文章能够帮你解决ios – Swift WKWebView加载本地文件无法在设备上运行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077282.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存