我有一个文件,我想在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);
当然,正如沙盒环境所说,我无法打开文件ins 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
请注意打开webview中的文件不是一种选择。该要求希望它在safari中打开。无论如何,这个例子是一个文本文件...可以打开的文件可以是任何东西,webview不支持所有文件类型。
答案 0 :(得分:2)
txt文件位于应用程序沙箱中。由于iOS中的安全性,您尝试在Safari中加载的URL将无法加载。 Read more about it here
作为一种解决方法,您可以在应用程序中使用UIWebView
并打开该文件。
干杯!
阿玛尔。
答案 1 :(得分:0)
您需要设置服务器或在应用内的UIWebView
内打开页面。
答案 2 :(得分:0)
NSString *path = [[NSBundle mainBundle] pathForResource:@"tryFile.txt" ofType:nil inDirectory:nil];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:path]];
此代码适用于直接在safari中打开网址,或者您可以在webview中使用Webview并直接打开网址。谢谢