2011-12-10 3 views
3

契約書には次のように記載されています。iOS上のjavascriptは、フレームワーク内で実行するだけでなく、WebKitフレームワークでダウンロードする必要がありますか?

3.3.2内部使用アプリケーションは、実行可能コードをダウンロードしたりインストールしたりすることはできません。解釈されたコードは、すべてのスクリプト、コード、インタプリタがアプリケーションにパッケージされていて、ダウンロードされていない場合にのみ、アプリケーションで使用できます。これまでの唯一の例外は、Appleの組み込みのWebKitフレームワークによってダウンロードされ実行されるスクリプトとコードです。

特に、「Webkitフレームワークでコードをダウンロードしました」と言います。

UIWebViewを使用しているネイティブアプリの場合、JavaScriptがウェブキットによって自動的にダウンロードされる必要があるかどうかは誰にも分かりません。つまり、ユーザーが外部URLリンクをクリックした結果です。または、サーバーへの独自のHTTP接続を作成してダウンロードすることでスクリプトをダウンロードすることは可能ですが、Webkit(UIWebView経由)で実行されるでしょうか?

この制限はセキュリティ上の目的であると想定しています。そのため、スクリプトのダウンロード場所とは対照的に、WebKit内で実行を制限することによるセキュリティの問題がありますか?

アップル以外の誰もがこれに確実に答えられるとは思えませんが、答えは大歓迎です。

おかげ

+0

ウェブアプリケーションは、アプリケーションとは異なるカテゴリです。 –

+0

あなたはUIWebViewについて言及していることに気付くでしょう - したがって私はjavascriptを使ってネイティブアプリについて質問しています。元のテキストを編集してネイティブアプリを明示的に記述していますが – Gruntcakes

+0

もちろん正式な回答ではありませんが、AppleやApp Storeで承認されたいくつかのドキュメントビューア、エディタ、Webブラウザがあり、Webビューのクリック以外のブックマークなどからHTML5ページのダウンロードを開始します。 – hotpaw2

答えて

4

Appleが作っているがWebkitの/のUIWebViewのサンドボックス性質に基づいていることを例外 - それはとてもうまく、サンドボックスであるため、実際には、それが正確に「許可」スクリプト可能な環境を提供します。 UIWebViewを提供しても、ユーザーがブラウザーでいくつかのJavaScriptを実行するサイトに移動した場合、プログラムでNSURLConnectionなどを介してJavascriptを取得してからUIWebViewにロードすると、実際の違いはありません。 HTMLファイルを再ロードするか、 "stringByEvaluatingJavaScriptFromString"を使用します。

+0

私はそれが "...スクリプトとコード..."と言います。だから私はObjective-CをJavascriptに加えてダウンロードして実行できることを前提としています。 Webkitの中で行われた場合、なぜ私は理由がないのですか?誰もが別のことを知っている? – Gruntcakes

+0

WebkitにはObjective-Cを実行する機能がありません。私はObjective-Cランタイムがそれを実行できるとは思っていません。つまり、Objective-Cには、実行時に任意のコードを実行できるPerlの "eval"に相当するものがありません。あなたがそれについて考えるなら、実行時にObjective Cをあなたのアプリに渡すことができれば、これはアプリストア承認プロセスを完全に回避するでしょう。ここでもHTMLやJavaScriptの場合、これはWebKit内で非常に実績のある方法でサンドボックス化されているため許可されています。 –

関連する問題