クライアントの1つとして、配布用のOTAアプリストアを開発しました。
アプリがインストールされているかどうかをテストできるようにするために、作成した各アプリに2つのカスタムURLスキームを追加しました。1つはアプリIDのみで、もう1つはアプリIDとバージョン(両方とも)に.
置き換えられてい-
ます。たとえばcom-mycompany-app
、com-mycompany-app-1-2-0
com.mycompany.appのバージョン1.2.0の場合。
次に、「アプリストア」で[[UIApplication sharedApplication] canOpenUrl:]
、アプリがインストールされているか最新バージョンであるかを判断するために使用します。インストールされている場合は、[インストール]ボタンを[開く]ボタンに置き換えます。
XCodeを介してアプリをインストールすると、うまく機能します。ただし、同じアプリOTAを「アプリストア」からインストールすると、canOpenUrl:
呼び出しは常にNOを返します。キャッシュの問題かどうかを確認するために、OTAのインストールが完了した後に「appstore」アプリを再起動しようとしましたが、同じ結果が得られました。
これは私のマニフェストplistファイルの問題ですか?ターゲットに属するInfo.plistには、カスタムURLスキームのものが明らかにありますが、マニフェストにはありません。ただし、マニフェストを使用して初期インストールを起動するだけだと思います...実際のインストール中にInfo.plistを使用して、これらの種類のものを登録するべきではありませんか?他に足りないものはありますか?
ありがとう!
編集:カスタムビルドスクリプトを使用して、OTA配布に使用されているファイル.ipa
とファイルを実際に作成しています。.plist
を使用してIPAを直接インストールしようとしiPhone Configuration Utility
ましたが、アプリストアはそれらのURLを開くことができるものとして認識できました。私が考えることができる唯一の可能性は、ダウンロードとインストールに使用しているplistに、これらのカスタムURLスキームへの何らかの参照が必要であるか、実際にはAppleのOTAフレームワークの正当なバグであるということです。