アプリを少し前に承認し、*プロビジョニングプロファイルを使用したので、次のようなものを作成しました。
com.mydomain.MyApp
しかし今、私はプッシュ通知を追加する必要があり、私は*プロビジョニングプロファイルを使用しているはずがなく、それは独自のアプリIDとプロファイルを持っている必要があります。
何も壊すことなくアプリのアップデートを達成するためにはどうすればよいですか
アプリのCFBundleIdentifierの更新をリリースする場合、そのアプリのCFBundleIdentifierを変更することはできません。アップロードすると、App Storeによって自動的に拒否されます。そう...
以前にワイルドカードアプリIDで開発されたアプリでiAdsを有効にする必要がありました。これが私がしたことです:
私のアプリで現在使用しているワイルドカードアプリIDは<AlphaNumeric>.*
で、アプリのCFBundleIdentifier
はcom.companyname.mygame
です。
<AlphaNumeric>.com.companyname.mygame
という新しいアプリIDを作成しました。
新しいアプリIDを含む新しい開発および配布プロビジョニングプロファイルを作成しました。
新しいプロビジョニングプロファイルをXcodeとデバイスにダウンロードします。
その後、新しい非ワイルドカード配布プロファイルを使用してアプリをコンパイルできました。つまり、アップロード時にiAds(またはプッシュ)を有効にできました。 CFBundleIdentifierは変更されなかったため、新しいコンパイルは既存のアプリの更新として表示されます。
このプロセスが問題なく機能したことを確認できます。
「テクニカルノートTN2259」というタイトルの「よくある質問」の「iOSおよびMacアプリケーションへのアプリ内購入の追加」には、このビットがあります。
質問:iOSアプリケーションは現在、ワイルドカードアプリIDを使用するプロビジョニングプロファイルで署名されています。アプリIDを有効にしてアプリ内購入をサポートするにはどうすればよいですか?
回答:アプリIDを有効にしてアプリ内購入をサポートする方法については、iOSチーム管理ガイドの「アプリIDの作成と構成」セクションをご覧ください。
リンク先は ここ で、「APNS、iCloud、アプリ内購入、またはゲームセンターを含めるようにアプリを更新するには、明示的なアプリIDが必要です」というセクションがあります。
そうは言っても、アプリが新しいアプリIDを取得する時点は(まだ)わかりません。レビューのためにアップロードするとき、その前、または承認されたときですか?私は現在この問題に取り組んでいるので、すぐにこの答えに追加できるかもしれません。
編集:明示的なアプリIDは、テストしているソフトウェアにのみ影響し、基本的には、iTunes Connectとは何の関係もありません。つまり、アプリ内購入をテストする場合、実行中のソフトウェア(アプリ)には、アプリ固有の証明書に基づくプロビジョニングプロファイルが必要です。 iTunes Connectで何が起きるかはまったく関係ありません。