[解決済み] iPhoneアプリを単なるWebアプリにせず、すべてJavaScriptで書くにはどうしたらいいですか?
質問
Obj-Cを学ぶのに時間をかけたくありません。私はWebアプリケーションのプログラミングに7年以上費やしてきました。WebViewを使用し、javascriptでアプリ全体を書き、プロジェクトのリソースから直接ファイルを取得する方法はないのでしょうか?
どのように解決するのですか?
いろいろと検索した結果、答えが見つかりました。以下は私が行ったことです。
-
XCodeで新しいプロジェクトを作成します。ビューベースのアプリを使ったと思います。
-
WebViewオブジェクトをインターフェースにドラッグして、リサイズします。
-
WebViewController.m (またはビューの名前に応じて同様の名前のファイル) の内部で、 viewDidLoad メソッドの中で。
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; NSData *htmlData = [NSData dataWithContentsOfFile:filePath]; if (htmlData) { NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [バンドル bundlePath]; NSString *fullPath = [NSBundle pathForResource:@"index" ofType:@"html" inDirectory:path] とします。 [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:fullPath]]] とします。 }
-
これで、プロジェクトにリソースとして追加したファイルは、Webアプリで使用できるようになりました。私は、index.html ファイルに javascript と css、画像ファイルを含めていますが、問題なく使用できています。これまでに見つけた唯一の制限は、新しいフォルダーを作成できないので、すべてのファイルが resources フォルダーに散らかってしまうことです。
-
トリック: XCode でファイルをリソースとして追加したことを確認するか、ファイルが利用できないようにします。私は XCode で空のファイルを追加し、ファインダーでファイルを上にドラッグしています。これは私のために機能しています。
注:Obj-Cを学ぶのはそれほど難しくはないはずだと理解しています。しかし、私はすでにこのアプリを JS で作成しており、Safari で動作することを知っているので、この方が開発サイクルがはるかに速いのです。いつの日か、Obj-C を習得する必要があると思います。
役に立つと思った他のリソースをいくつか紹介します。
javascriptからObj-Cを呼び出す。 javascriptからObjective-Cを呼び出す
Obj-Cからjavascriptを呼び出す。 ウェブハッカーのためのiphoneアプリ開発
アプリケーションバンドルからファイルを読み込む。 uiwebview
関連
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] JavaScriptでクエリ文字列の値を取得するにはどうすればよいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] JavaScriptのオブジェクトを表示するにはどうすればよいですか?
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] Node.jsのES6クラスをrequireで作る
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる