7

AppStore でアプリを公開しており、それを社内配布用のエンタープライズ開発者アカウントに移行したいと考えています。私はエンタープライズドキュメントを読みました:

アプリのデータをユーザーのデバイスに保存したままにしておきたい場合は、新しいバージョンが置き換えるものと同じ bundle-identifier を使用していることを確認し、新しいバージョンをインストールする前に古いバージョンを削除しないようにユーザーに伝えてください。バンドル識別子が一致する場合、新しいバージョンは古いバージョンを置き換え、デバイスに保存されたデータを保持します。

ここで、既にインストールされているAppStore バイナリと別の証明書で署名されたエンタープライズ バイナリの間でバンドル ID を同じに保つと仮定すると、2 つ目のアプリを作成するのではなく、電話で同じアプリを上書きする必要があります。

Apple サポートに連絡したところ、「いいえ、クライアントに古いアプリをアンインストールするように指示しないと、2 つのアプリがインストールされてしまいます」とのことでした。これは本当ですか?

4

2 に答える 2

2

アプリの「エンタープライズ」ビルドが「アプリストア」分散バージョンを上書きするように、私はこれを達成することができました。

これはまったく同じバンドル ID を使用しませんが、OP が元の質問で尋ねたことを実現します。

私がこれを行った方法は、エンタープライズ アカウントで、最初の 2 つの部分が本番アプリのバンドル ID と同じであるワイルドカード バンドル ID を作成することでした。次に例を示します。

Production : com.xyz.abc
Enterprise : com.xyz.*

このワイルドカード バンドル ID を使用すると、アプリを配布でき、アプリ ストア経由でインストールされたすべてのバージョンが上書きされます (ユーザー データは引き続き保持されます)。ここでは接頭辞は問題ではないようです。

ワイルドカード バンドル ID の欠点の 1 つは、APNS などを使用できないことです。

于 2014-08-07T09:46:39.710 に答える
2

編集:下に良い会話があるので、会話のために元の回答を下に残します。@mja が最初にアプリ ID を作成したときに指摘したように、それは開発者ポータルで利用可能ないくつかのプレフィックスの 1 つに関連付けられており、そのプレフィックスは iOS でアプリを関連付けて区別するために使用される場合があります。

EDIT2: エンタープライズ ポータルにアクセスして、既存のアプリ ID と同じ値のアプリ ID を作成しようとすると、プレフィックスが異なりますが、それでも失敗し、次のように表示されます。

識別子 'com.mycompany.myapp' を持つアプリ ID は利用できません。別の文字列を入力してください。

元の回答: 後者の部分は正しくありません。iOS デバイスはバンドル識別子を使用してアプリを区別します。com.mycompany.coolapp.1 - com.mycompany.coolapp.20 などの一意のバンドル ID を持っている限り、同じ iOS デバイスで「Cool App」というラベルの付いた 20 個のアプリを使用できます。同様に (私はこれを誤って実行してしまいました)、2 つのプロジェクトを開いた場合、どちらもバンドル識別子 com.mycompany.myapp を持ち、1 つずつ実行すると、最後に実行されたアプリがデバイスにインストールされますが、前のアプリはデバイスにインストールされます。アプリは上書きされます。

それ自体を維持するアプリ データについては、私はそれをテストしていませんが、あなたに何が起こるかに興味があります!

于 2013-07-17T20:36:45.327 に答える