我有一个用Cordova构建的ios应用程序。 我想在深度链接之后,在带有handleURL ios方法的UIWebView中打开一个Web资源文件(.html)。
我知道我应该在我的cordova JS文件中执行此操作,但我想知道本地执行此操作的方法吗?
我们说我定义了一个my-app
网址计划,并希望打开file1.html
。
这样做的方法是什么?
我发现了这个:
// Load the html as a string from the file system
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSString *html = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
// Tell the web view to load it
[WebView loadHTMLString:html baseURL:[[NSBundle mainBundle] bundleURL]];
但没有任何反应,就像它无法找到该文件一样。 那是为什么?
答案 0 :(得分:0)
将所有文件放在一个文件夹中,同时在项目中添加拖放。并根据需要选择创建文件夹引用和复制项目。并尝试加载UIWebView
答案 1 :(得分:0)
NSURLProtocol
。[NSURLProtocol registerClass:YOURCLASS]
+ (BOOL) canInitWithRequest:(NSURLRequest *)
)my-app
以返回true
NSURLProtocol
的文档,了解如何实现其余功能。对于简单的文件系统读取,您可以实现startLoading
并调用self.client
回调(例如URLProtocol:didLoadData:
)。对于更复杂的事情,您可能需要覆盖更多。请参阅本教程:http://www.raywenderlich.com/59982/nsurlprotocol-tutorial