0

私はWebアプリを持っており、そのすべてのリソースは「war」という名前のフォルダーに含まれています。これらをxcodeプロジェクトにインポートしました(「ファイル」->「ファイルを「私のプロジェクト」に追加」から)。

これで、私のxcodeプロジェクトは次のようになります。

MyProject
    |- war
        |- foo.html
    |- AppDelegate.h
    |- AppDelegate.m
    ...

だから今私は次のようにロードしてみます:

NSBundle *bundle = [NSBundle mainBundle];
NSURL *url = [NSURL fileURLWithPath:[bundle pathForResource:@"foo" ofType:@"html"] isDirectory:NO];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[self.mWebView loadRequest:req];

コンパイルエラーは発生しませんが、UIWebViewが空です。webViewDidLoadコールバックも取得します。このようなローカルページをロードする必要がある他の方法はありますか?

ありがとう

4

2 に答える 2

4

それが真のサブディレクトリである場合(つまり、フォルダ名が青色で表示される場合):

ここに画像の説明を入力してください

次に、使用できますURLForResource:withExtension:subdirectory:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"foo" 
                                     withExtension:@"html"
                                      subdirectory:@"war"];

または、単に「グループ」の場合(つまり、「フォルダ」が青色で表示されない場合):

ここに画像の説明を入力してください

次に、プレーンオールドを使用しますURLForResource:withExtension:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"foo" 
                                     withExtension:@"html"];
于 2012-12-10T15:52:08.070 に答える
0

これは私が通常問題なくローカルhtmlファイルをロードする方法です。

[webView loadRequest:[NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:self.fileName withExtension:nil]]]

あなたのコードはほとんど私には正しいように見えるので、私はそれが他の問題かもしれないと思います。webViewのデリゲートを設定し、その- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)errorメソッドをチェックして、より多くの情報が得られるかどうかを確認することをお勧めします。

また、あなたfoo.htmlがターゲットメンバーであることを確認してください。

于 2012-12-10T14:47:19.883 に答える