1. ホーム
  2. ios

[解決済み] iOS 8におけるエンタープライズアプリのアップデート配布

2022-10-20 17:45:20

質問

私は、企業向けアプリを itms の URL で配布しています。

itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=https://$MY_PLIST_URL.plist

iOS 7 では、ダウンロードとアップデートの両方が問題なく動作します。しかし、iOS 8 では、エラーが発生します。

LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.mycom.MyApp

私のplistでは

<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>

で、iOS 8 の私のアプリでは、バージョン 0.2.1 を実行しています。

どのように解決するのですか?

私たちのアプリの配布でもこの問題に遭遇しました。私たちは、ダウンロード配布に使用する .plist 内のバンドル識別子を「偽造」し、ipa バンドル識別子を同じに保つことで、この問題を解決することができました。

たとえば、plist の中で

<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>

変更 com.mycom.MyApp com.mycom.MyApp.ios8fix に変更しました。

アプリは新しいアプリのアイコンを使ってインストールされますが、インストール後に消えます。

すでにアプリをインストールしている場合、インストール中に新しいアプリのアイコンが表示されます。インストール後、このアイコンは消えますが、すでにインストールされているアプリのバージョンは更新されます。 クリーン インストールでは、インストール アイコンは消え、インストールされたアプリケーションのアイコンが表示されます。

iOS 8 はバンドル識別子をキャッシュして、要求されたインストールをこれらのキャッシュされたものと比較しているようです。ほとんどの場合、インストールを要求するポップアップが表示されるだけで、何も起こりません。

Sean がすでに気づいたように、これは xCode 6 GM と iOS 8 の公式バージョンで表示されます。アプリケーションをインストールしたことのないデバイスは、アプリをインストールするのに問題はありません。