独自のカスタム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
か?