2012-06-14 5 views
2

У меня есть HTML сохранения файла во временном каталоге так:Objective-C/IOS - Открыть локальный HTML-файл с Safari

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSString *documentDirectory = NSTemporaryDirectory(); 
NSString *documentPath = [documentDirectory stringByAppendingPathComponent:@"mydocument.html"]; 
[fileManager createFileAtPath:documentPath contents:myHTMLDocumentData attributes:nil]; 

Документ создается в моем временном файле. После этого, я хочу, чтобы открыть этот документ в Safari, но он не работает:

NSURL *url = [NSURL fileURLWithPath:documentPath]; 
[[UIApplication sharedApplication] openURL:url]; 

Ничто не происходит на экране, без ошибок ... Однако, если я заменю «URL» на @ "HTTP://google.fr ", Safari запущен с google.fr, и я могу получить доступ к моему временному файлу, введя url-файл: //localhost..../myHtmlDocument.html в Safari.

Надеется, что вы можете мне помочь

+0

если у вас устройство iOS имеет подключение к интернету, поместите его в Интернет и откройте его – bshirley

ответ

7

Вы не может открыть документ с поселяется в приложении пачке через Safari (пожалуйста, см iOS Security Model).

Для отображения содержимого вашего документа в приложении используйте UIWebView, используя – loadHTMLString:baseURL:; например:

UIWebView* webView = [[[UIWebView alloc] initWithFrame:rect] autorelease]; 
[webView loadHTMLString:myHTMLSource baseURL:nil]; 
[self.view addSubview:webView]; 
+0

Хорошо, я буду использовать веб-просмотр, спасибо за вашу помощь. –

1

я не думаю, что вы можете достичь этого, так как UIApplication openURL: и UIDocumentInteractionController не будет открывать локальные файлы внутри пучка

Выполните следующие действия, а не в вашем viewDidLoad

UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds]; 
[self addSubview:webView]; 
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath: documentPath]]; 
[webView loadRequest:request]; 
Смежные вопросы