【发布时间】:2013-05-16 06:10:28
【问题描述】:
我有一个文件,我想在 safari 中打开它(或在 safari 中将其称为视图)。 我将此文件添加到我的捆绑资源中。
并执行以下操作:
NSString *path = [[NSBundle mainBundle] pathForResource:@"tryFile.txt" ofType:nil inDirectory:nil];
NSURL *url = [NSURL fileURLWithPath: path];
NSLog(@"path: %@ \n url:%@ \n can open url:%d",path,url,[[UIApplication sharedApplication] canOpenURL:url]);
BOOL didGo = [[UIApplication sharedApplication] openURL:url];
NSLog(@"didgo?: %d",didGo);
当然,正如沙盒环境所说,我无法在 safari 中打开文件。它说,canOpenURL 是 yes 但然后 didGo 是 NO。
如何在不设置本地服务器的情况下执行此操作。请建议。 我应该将数据保存在一个变量中,然后用该数据打开一个 html 页面......还是什么?
编辑: 这些是日志:
path: /var/mobile/Applications/C78C7CD8-22C7-468A-AA5D-AF22C6042378/TryApp.app/tryFile.txt
url:file://localhost/var/mobile/Applications/C78C7CD8-22C7-468A-AA5D-AF22C6042378/TryApp.app/tryFile.txt
can open url:1
didgo?: 0
请注意不能在 web 视图中打开文件。该要求希望它在 safari 中打开。无论如何,这个例子是一个文本文件...可以打开的文件可以是任何文件,webview 不支持所有文件类型。
【问题讨论】:
-
当“
openURL”被调用时,在 Safari 中会打开什么? -
在 webView 中加载文件
-
@NikitaP 参考这个链接stackoverflow.com/questions/11035564/…,需要在UIWebview中打开
-
可以观察到路径是
file://..在safari中打开应该是http://.. -
@prasaddevadiga:是的,我知道。这就是为什么我希望数据是否可以转换为 html 字符串或其他东西,可以传递给在 safari 中打开
标签: iphone ios objective-c safari openurl