2

独自のカスタムURLを持ち、アプリストアにある2つのiPhoneアプリを作成しました。それらをアプリAとアプリBと呼びましょう。

アプリAのインターフェースは、私が実行しているリモートサーバーからマークアップを取得するUIWebViewです。アプリAに実装したい動作は次のとおりです。

  • アプリBのカスタムURLを使用してリンクが生成され、アプリBがデバイスにインストールされている場合は、アプリBを開きます。これは、チェックUIApplication canOpenURL:して、返された場合はYESを呼び出すことで簡単に実行できますUIApplication openURL:

  • アプリBのカスタムURLを使用してリンクが生成され、アプリBがデバイスにインストールされていない場合は、アプリBのアプリストアページに移動します。

これが私がその2番目のものを処理することを計画している方法です:

  • アプリBのアプリストアページへのリンクを含むURLパラメーターをカスタムURLに含めます。URL全体canOpenURL:が返さNOれる場合は、代わりにそのパラメーターで指定されたURLを開きます。

それはうまくいくはずです。ただし、アプリAがアプリBのカスタムURLを解析して代替リンクを取得する方法を知っている必要があるため、少しハッキーな感じがします。それは理想的とは言えないカプセル化のようです。canOpenURL:返品時にフェイルオーバーURLを提供するために使用する必要のある他の規則はありますNOか?

4

1 に答える 1

1

AppA内からAppBのこれらのURLを常に開きますか?

もしそうなら、なぜあなたはURLにAppBのAppStoreページへのリンクを追加する必要があるのですか?

AppAがAppBのAppStoreURLをすでに「認識」できないのはなぜですか。また、「canOpenURL」がカスタムURLスキームに対してNOを返した場合、ユーザーはそのAppStoreページに移動するだけです。

これははるかにクリーンなソリューションのようです。

PS:これは古い質問だと思いますが、質問にはいくつかの賛成票があり、回答されていないので、おそらくこれは誰かを助けるでしょう...

于 2013-08-01T01:10:35.080 に答える