3

Facebook iOSアプリを見ると、フィード内で(たとえば)コメントをクリックするとネイティブiOSダイアログがポップされ、写真をクリックするとその目的のためだけにネイティブiOS画面もポップされることがわかります。または、コメントをクリックすると、そのための別のiOS画面が読み込まれます。

私はハイブリッドiOSアプリ(html5 + obj-c)に取り組んでおり、この種の機能が大好きです。私はチェックしました:

http://en.wikipedia.org/wiki/Multiple_phone_web-based_application_framework

しかし、どちらが最適かはわかりません。たとえば、phonegapは非常に人気がありますが、phonegapを使用したこの種の実装(「ネイティブブリッジ」)が可能かどうかはわかりません。そうだとしても、それが私に主要な学習曲線を処理することを要求するならば(それは構文であり、特別なプラグインを書くことです)。あなたは何をしましたか?どのFWが最も適切か。私はカメラ/ファイルシステムなどのシステム機能を使用していません。そのネイティブブリッジを除いてphonegapが提供するので、フレームワークのサイズについて考えてください。それが私が必要とする唯一の部分です。そうは言っても、アプリは100%電話ギャップまたは100%ネイティブであってはなりません。

senchatouch2はこの要件の目標には問題外だと思います

4

2 に答える 2

1

はい、できます。カスタムプロトコルを使用します。

HTMLで、JS呼び出し関数を宣言します。

function callIt(paramText) {
    var iframe = document.createElement("IFRAME");
    iframe.setAttribute("src", "my-protocol://" + paramText.replace(/ /gi,'%20'));
    document.documentElement.appendChild(iframe);
    iframe.parentNode.removeChild(iframe);
    iframe = null;
}

iOSでは、webViewデリゲートメソッドwebView:shouldStartLoadWithRequest:navigationTypeを使用して呼び出しをインターセプトします。

リクエストに「my-protocol:」プレフィックスが付いているかどうかを確認します。この場合、「://」セパレーターの例を使用してリクエストからパラメーターを抽出し(任意のセパレーターを使用することもできます)、NOを返します。

于 2012-04-08T17:59:16.987 に答える
0

senchaフレームワークのみを使用して、JavaScriptコードからカスタムURLスキーム呼び出しを行うことができます

例えば ​​:

window.location='test://'+parameters;

ネイティブ部分では、このカスタムURLが呼び出されたときにプロトコルハンドラーを作成する必要があります。ハンドラーは、ネイティブ部分で対応する関数を実行します。

今度は反対方向に、ネイティブiosからsenchaに渡したいとしましょう。データをjavascriptファイルに保存して、sencha部分で使用でき、ネイティブコードからjavascriptで関数を呼び出すことができます。

すべてのネイティブフレームワークにアクセスできるため、phoneGapを使用する必要はありません

于 2012-04-09T23:03:22.800 に答える