エラーなしで TestFlight からアプリケーションをインストールできた場合、デバイスはプロビジョニング プロファイルに正しくリストされています。あなたの問題は別のものです。
デバイスのクラッシュ ログを調べて、何が問題なのかを確認してください。それらを抽出して、Xcode でシンボル化できます。
MusiGenesis の回答の訂正:アドホック ビルドがプッシュ通知で動作しないことは、確かに正常ではありません! システムを正しくセットアップして使用するだけです。
アドホック ビルドがプッシュ通知を受信しない場合の一般的なエラーの原因:
- アプリのプッシュを有効にした後、新しいプロビジョニング プロファイルを生成していません。これにより、受信したプッシュ トークンが nil になります。
- 開発証明書を使用して APNS サーバーに接続しています。アドホック ビルドは配布ビルドと見なされるため、運用キーを使用する必要があります。
- 開発トークン (開発ビルドから) と運用トークン (アドホック ビルドから) を組み合わせて APNS サービスに送信しています。これにより、プッシュ通知のバッチ全体がサーバーによって静かに破棄されます。これを回避するには、開発、アドホック、および本番のトークン データベースを完全に分離してください。どのトークンがバッチをポイズニングしているかを特定する方法はないため、それらをすべてクリアして、正しいタイプのトークンのみが挿入されていることを確認する必要があります。
プッシュに登録する必要があるアプリに対して、常に 3 つのバックエンド インスタンスを実行しています。1 つは開発ビルド用、1 つはアドホック ビルド用、もう 1 つは App Store ビルド用です。たとえば、別々の API エンドポイントを でオンラインに保ちdev.mybackend.com
、それらを分離するために別々のデータベース インスタンスstaging.mybackend.com
にproduction.mybackend.com
バックアップすることができます。
Xcode プロジェクトでは、これらのタイプのビルド用に個別のビルド構成を用意し、プリプロセッサ マクロを使用して正しいバックエンドを交換します。開発ビルドが本番アカウントに間違った分析を報告していないこと、正しいプロビジョニング プロファイルが自動的に使用されていることなどを確認したい場合は、個別のビルド構成も便利です。