アプリのリソース フォルダーから JavaScript ファイルを読み込む必要があります。現時点では、リソースから画像を正常に読み取りますが、何らかの理由で JavaScript を読み取っていません。
html ファイル自体がリソースに書き込まれている場合、これらの JavaScript を参照する html ドキュメントをレンダリングできましたが、UIWebView の html を動的に設定して html/js をレンダリングしたいと考えています。
これが私がやっていることです:
NSString * html = @"<!DOCTYPE html><html><head><title>MathJax</title></head><body><script type=\"text/x-mathjax-config\">MathJax.Hub.Config({tex2jax: {inlineMath: [[\"$\",\"$\"],[\"\\(\",\"\\)\"]]}});</script><script type=\"text/javascript\" src=\"/MathJax/MathJax.js\"></script>$$\\int_x^y f(x) dx$$<img src=\"coffee.png\"></body></html>";
NSString * path = [[NSBundle mainBundle] resourcePath];
path = [path stringByReplacingOccurrencesOfString:@"/" withString:@"//"];
path = [path stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
NSString * resourcesPath = [[NSString alloc] initWithFormat:@"file://%@/", path];
[webview loadHTMLString:html baseURL:[NSURL URLWithString:resourcesPath]];
ここで、必要なファイルもあるサーバーにベース URL を変更すると、正しく読み込まれます。インターネット接続を必要としないのは素晴らしいことです。どんな助けでも大歓迎です!!! ;)
これは、画像を表示するのに役立つことがわかりました: iPhone Dev: UIWebView baseUrl to resources in Documents folder not App bundle
編集:
文字列の置換と URL のエンコードを行う代わりに、mainBundle で resourceURL を呼び出すだけで画像を取得できましたが、JavaScript は実行されませんでした。
NSString * setHtml = @"<!DOCTYPE html><html><head><title>MathJax</title></head><body><script type=\"text/x-mathjax-config\">MathJax.Hub.Config({tex2jax: {inlineMath: [[\"$\",\"$\"],[\"\\(\",\"\\)\"]]}});</script><script type=\"text/javascript\" src=\"/MathJax/MathJax.js\"></script>$$\\int_x^y f(x) dx$$<img src=\"images/test.png\"></body></html>";
[webview loadHTMLString:setHtml baseURL:[[NSBundle mainBundle] resourceURL]];
編集
これを試してみたい場合は、サンプル プロジェクトを作成することで簡単にできます。
https://github.com/pyration/math-test
git clone git@github.com:pyramation/math-test.git