无法通过应用程序打开Safari

时间:2011-08-09 13:26:29

标签: iphone

  

可能重复:
  iPhone Mobile Safari File System Access

我想通过我的应用在Safari中打开本地保存的图像。

当我的应用加载时,我将图像放在“/Users/username/Pictures/xxx.jpg”中。如果我直接打开Safari并输入“file:///Users/username/Pictures/xxx.jpg”或“file://localhost/Users/username/Pictures/xxx.jpg”,则会在浏览器中打开图像。 / p>

但如果我尝试通过我的应用程序打开Safari,Safari和图像都不会打开。以下是我用来通过我的应用程序打开Safari的代码。

NSString *str = [NSString stringWithFormat:@"file:///Users/username/Pictures/xxx.jpg"]; str = [str stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSURL *url = [NSURL URLWithString:str];
if (![[UIApplication sharedApplication] openURL:url])
NSLog(@"%@%@",@"Failed to open url:",[url description]);

值得一提的是,如果我打开一个HTTP网址,比如http://www.google.com,该应用会打开带有指定网址的Safari。

我在Simulator上尝试这个并且没有将图像保存在我的apps文件夹中,只是为了确保图像没有沙盒。即使我将图像放在我的apps文件夹中,也会收到失败消息。

请注意:我没有使用UIWebView,因为它会破坏业务需求。

1 个答案:

答案 0 :(得分:1)

您无法通过打开Safari浏览器来访问本地文件,因为它是沙盒,无法访问应用程序包或目录中包含的文件。您可能需要更改是否可以更改业务需求并使用UIWebView