我正在使用本地文件测试WKWebView,该文件正在模拟器中工作,但在设备中不起作用
@interface EDPresentationViewController ()<WKNavigationDelegate,WKScriptMessageHandler> @property(nonatomic,strong)WKWebView *webView; @property(nonatomic,strong)EDPresentationController *presentationController; @end @implementation EDPresentationViewController -(void)viewDidLoad { [super viewDidLoad]; self.presentationController = [[EDPresentationController alloc]init]; WKWebViewConfiguration *webConfiguration = [[WKWebViewConfiguration alloc]init]; self.webView = [[WKWebView alloc]initWithFrame:self.view.frame configuration:webConfiguration]; NSURL *presentationFolder = [self.presentationController url]; NSURLRequest *request = [NSURLRequest requestWithURL:presentationFolder]; [self.webView loadRequest:request]; }
我授予网址:
NSURL *presentationFolder = [self.presentationController url];
是的,因为我用UIWebview测试了相同的代码,并且可以工作!
我总是得到同样的错误:
Could not create a sandBox extension for '/'
这不是工作,我猜这可以在Objective-C中以快速的方式工作
iOS Webkit not working on device,but works on simulator at swift
谢谢你的任何想法
更新2-12-2014
我发现这可能是iOS 8.1中的一个bug,它可能会在8.2中修复
https://devforums.apple.com/thread/247777?start=25&tstart=0
我已经测试移动文件到临时文件夹,我没有得到任何错误,但WebView只是空的.
我已经使用UIWebView测试了相同的代码(临时文件夹),并且工作正常!
此外,我已经尝试过:
https://stackoverflow.com/a/26054170/426180
正如我可以发现的,这是因为css和javascript被发现在html中.
解决方法
尝试
XWebView它有一个非常微小的嵌入式http服务器.它比GCDWebServer小得多.通过扩展添加了
loadFileURL:allowingReadAccessToURL方法,因此您不知道服务器.