3

次のような一時ディレクトリにHTMLファイルを保存しています。

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」と入力して一時ファイルにアクセスできます。 Safariのfile://localhost..../myHtmlDocument.html"。

あなたが私を助けることができることを願っています

4

2 に答える 2

8

Safariを介してアプリバンドルに常駐するドキュメントを開くことはできません( iOSセキュリティモデルを参照してください)。

必要なのは、を使用しUIWebViewてアプリ内にドキュメントコンテンツを表示すること– loadHTMLString:baseURL:です。例えば:

UIWebView* webView = [[[UIWebView alloc] initWithFrame:rect] autorelease];
[webView loadHTMLString:myHTMLSource baseURL:nil];
[self.view addSubview:webView];
于 2012-06-14T14:46:57.780 に答える
2

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];
于 2012-06-14T14:47:17.983 に答える