AppDistributionで配信すると、プッシュ通知を受け取れない問題
現象
開発版アプリをFirebaseのAppDistributionで配信すると、プッシュ通知を受け取ることができない。(Xcodeから直インストールした場合は、受け取れていました)
原因
配信したアプリが開発版でなく、製品版のAPNs証明書を参照していた。
詳細
Distribute Appするときに、App Store Connect, Ad Hoc, Enterprise, Developmentを選択しますが、この際に、Ad Hocを選択して.ipaファイルを作成していました。
App Distributionの配信方法を調べると、Ad Hocを選択すると書かれている記事しか見たことがなく、何も考えずに選択していました。
Ad Hocを選択して、Distribute Appすると、aps-environmentがproductionになります。
productionの場合、本番用として作成したAPNs証明書を参照するのですが、今回配信したかった開発版アプリは、一般公開する予定がないため、開発用(Sandbox)のAPNs証明書しか作成していませんでした。そのため、本番用として配信されたアプリではプッシュ通知を受け取ることができなかったと推察します。
(2023/01/12 補足)
上記の状況とは逆に、製品版APNs証明書しか設定していないアプリをDevelopmentでDistributeAppして配信した場合、通知を受け取ることができませんでした。(開発版のAPNs証明書を参照するため)
解決策
- AdHoc用のAPNs証明書を作成する
- Distribute Appするときに、Developmentを選択する。
この案件の場合、プッシュ通知は他社管理のサービスから送信していたので、方法1だとコミュニケーションコストが発生します。(証明書を渡したりなどなど)
方法2の場合はteam内のメンバーにしか配信できないのですが、今回の場合は問題無さそうだったので、こちらを選択しました。
株式会社 カラビナテクノロジーは「命綱や支点を素早く確実に繋ぐカラビナ。そんなカラビナのような役割をテクノロジーで実現したい」という想いのもと、福岡で設立。 主にシステム開発・アプリ開発・ Webサイト制作を行っています。採用情報→karabiner.tech/recruit/requirements/
Discussion