2011-08-09 65 views
0

可能重複:
iPhone Mobile Safari File System Access無法通過應用程序來打開Safari

我想通過我的應用程序在Safari中打開本地保存的圖像。

當我的應用程序加載時,我將圖像放在「/Users/username/Pictures/xxx.jpg」中。如果我直接打開Safari並輸入「file:///Users/username/Pictures/xxx.jpg」或「file://localhost/Users/username/Pictures/xxx.jpg」,圖像將在瀏覽器中打開。

但是,如果我嘗試通過我的應用程序打開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 URL,說http://www.google.com,應用程序打開Safari瀏覽器與指定的URL。

我在模擬器上試過這個,並沒有將圖像保存在我的應用程序文件夾中,以確保圖像不是沙盒。即使將圖像放入我的應用程序文件夾中,我也會收到失敗消息。

請注意:我沒有使用UIWebView,因爲它會打敗業務需求。

回答

1

您無法通過打開Safari瀏覽器來訪問本地文件,因爲它是沙盒式的,無法訪問包含在您的應用程序包或目錄中的文件。您可能需要更改,看看您是否可以更改業務需求並使用UIWebView

+0

正如我剛纔提到的,我沒有將圖像保存在應用程序文件夾中(請參閱上面的「請注意」),它是如何變成沙盒的?而且,如果我直接在Safari中輸入URL而不是導航,則能夠打開它。 – Sahil

+0

由於在模擬器中,您可以在Safari Web瀏覽器中預覽Mac上的本地文件(這是爲了讓人們進行Web開發,以在本地瀏覽器中預覽其移動網站),但是當您進入設備時,Safari將不會能夠訪問本地文件 –

+0

根據您以前的評論,它不會發生。但只是爲了確保... 有沒有一種方法可以在Safari或通過我的應用程序保存本地保存的.mobileconfig文件? – Sahil

相關問題