プッシュ通知を使用するアプリがあり、テストのためにテスターに配布しようとしています。
iTunes 経由でインストールされるアドホック ディストリビューションを作成すると、プッシュ通知以外はすべて機能しますが、プッシュ通知は届きません。ただし、アプリが XCode を使用してインストールされている場合、プッシュ通知は届きます。
XCode を使用してインストール用にビルドする場合、XCode 内のコード署名 ID を開発プロファイルに設定します。アドホック配布用にビルドするとき、アーカイブをビルドするときに XCode 内のコード署名 ID をアドホック配布プロファイルに設定し、アドホック プロファイルを使用して配布用のアーカイブに再度署名します (これが唯一の組み合わせであることがわかりました)。これにより、エラー メッセージが表示されずに iTunes 経由でインストールできるようになります)。
すべてのデバイスがアドホック配布プロファイルと Apple プッシュ プロファイル (およびチーム プロビジョニング プロファイル) に追加され、プロファイルが更新され、XCode 内で更新されました。自分の iPhone でも、iTunes ではなく XCode でインストールすると、プッシュ通知を受け取ることができます。
不適切なプロファイルを使用してアドホック配布に署名していますか? もしそうなら、プロファイルの正しい組み合わせは何ですか? プッシュ通知がアドホック ディストリビューションでは機能せず、アプリが XCode 経由でインストールされたときに機能する別の理由はありますか?
使用されるプロファイルは次のとおりです。
1) Apple push profile which has an App id of abcdef.com.company.mno
2) Project Development profile which has an App id of abcdef.com.company.mno
3) iOS Team provisioning profile which has an app id of abcdef.*
4) AdHoc Distribution profile which has an app id of abcdef.com.company.mno
5) My developer profile which has an app id of abcdef.com.company.mno
**これを最初に投稿して以来、abcdef.com.company.mnoアプリIDを使用して新しいiOSチームプロビジョニングプロファイルを作成しようとしましたが、違いはありません**
abcdef.com.company.mno アプリ ID は、開発用のプッシュ通知が有効になっていることを示しています (これは正しく、まだ運用プッシュを使用していません)。また、その開発プッシュ SSL 証明書は有効として表示されます。
コード署名 ID は次のとおりです。最初の写真は XCode を使用してインストール/実行するために使用するもの、2 番目の写真はアドホック配布用のアーカイブを構築する場合です。
XCode の iPhone 配布プロファイルの説明には、「アドホック配布プロファイル (バンドル識別子 com.company.mno 用)」と記載されています。