2012-05-29 10 views
23

私は最近、社内での配布を使用できるようにiOSエンタープライズデベロッパープログラムに登録しました。参加する前に、プログラムのドキュメントを徹底的に読んで、新しいアカウントがAppStoreの提出用に使用する標準アカウントと完全に分離されていることを認識しました。iOSエンタープライズデベロッパープログラムの管理

私が確信しているのは、開発者ポータルで2つのアカウントを整理する最良の方法です。私は、各アプリケーションのXcode内で2つの異なるバンドルIDを扱うので、バンドル識別子にはほとんど関心があります。すべてのアプリでiCloudとプッシュ通知が使用されるため、ワイルドカードはオプションではありません。

これをXcodeの中でどのように整理しますか? 2つの異なるターゲットを作成するか、新しいプロジェクト構成でこれを管理できますか? iCloudのエンタイトルメントはどうですか?

EDITちょうどアップデートとして、私たちは両方のための社内配布やAppStoreの提出のためのアプリケーションを構築するために最善の解決策を探していることを明らかにしたかったです。企業のプログラムを使用して、テストユーザーと製品IDを設定することができiTunesConnect、へのアクセスを許可しないことを考えると

EDIT2

、InApp購入をテストする方法は本当にありませんか?

+0

あなたはアプリをアドホックで公開していますが、アプリストアで公開していますか?または、なぜ2つのバンドルIDを使用する必要がありますか? – calimarkus

+0

バンドルIDの場合は、2つのプロジェクト設定で十分です。 plistをセットアップすると.. – calimarkus

答えて

34

私はあなたが必要とするものについて完全にはっきりしていませんが、企業内で使用するためのアプリストアアプリを構築できるように思えます。あれは正しいですか?

2つの異なるバンドルIDを使用してアプリケーションをビルドできるようにするには、カスタムビルド設定を作成し、さまざまな設定に異なる値を指定できます。あなたのターゲットのビルド設定に移動し、ユーザー定義のビルド設定を追加し

enter image description here

だから例えば、あなたはあなたのエンタープライズ構成を作成することができ

enter image description here

与えるをそれはBUNDLE_IDのような名前であり、三角形を展開すると、各設定に対して異なる値を与えることができます:

enter image description here

次に、あなたのInfo.plistファイルを開き、バンドルID値のため${BUNDLE_ID}を入力してください:あなたが使用して行うことができ、「エンタープライズ」の設定を、使用してコンパイルすると

enter image description here

カスタムスキーム(または使用する場合はコマンドラインビルドプロセスを介して)、適切なバンドルIDが使用されます。

あなたも同じようにプロファイル設定をprovisiong /コード署名を設定することができます。一度これを行う

enter image description here

を、正しいプッシュ通知/ iCloudの資格は、構成に応じて使用されます。

私たちは今、この種のことを長い間行ってきました。私たちのビルドサーバーは、この技術を使って、ビルドごとにエンタープライズ版とアプリストア版を生成します。

それがプロビジョニングポータルに出たとき、あなたは、プッシュ通知のための別途の両方のアプリケーションIDを設定する必要があります、iCloudの、など

これは、プッシュ通知はアプリストアや企業のバージョンに別々に送らなければならないことを意味してい同じバンドルIDまたはプッシュ通知証明書を共有しないためです。

iCloudストレージは、デフォルトで2つのバージョンで完全に分離されています。同じチームIDでエンタイトルメントが設定されている場合、同じiCloudストアにアクセスすることができます(必要な場合)。しかし、これは2つの別々の開発者アカウントを持っている場合には問題になるかもしれません。