テクノモンキーのアプリ開発日記

テクノモンキーの開発ブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsを発信します。

【iOS】プッシュ通知(Firebase Cloud Messaging)で「エンタイトルメント文字列が見つかりません」のエラーの対処法

https://cdn-ak.f.st-hatena.com/images/fotolife/s/s_gozaru/20180326/20180326160955.png

最近ネコベンチャーにプッシュ通知機能を実装しました。

 

 

play.google.com

 

今回、UnityでFirebaseのプッシュ通知(Firebase Cloud Messaging)を実装してみたんですが、つまづきポイントがあったのでメモ。

 

 

UnityでFirebase Cloud Messagingを実装する方法

 

UnityでのFirebase Cloud Messagingの基本的な実装は、下記を見れば一通りできました↓

Unity を使用して Firebase Cloud Messaging クライアント アプリを設定する  |  Firebase

 

プッシュ通知の証明書作成関連は以下を参考にすればOK。

プッシュ通知に必要な証明書の作り方2018

 

 

iOSアプリでプッシュ通知が受信できない。。

 

Android版はFirebaseのコンソールからメッセージを送信すると普通に受信できましたが、iOS版の方はメッセージを送信しても一向に届きませんでした。

 

なぜ届かないのか調査してみたところ、Xcodeのログに以下が出力されてました↓

 

 

 

f:id:no-work-no-life-4081:20180908075504p:plain

[Firebase/Messaging][I-FCM012002] Error in application:didFailToRegisterForRemoteNotificationsWithError: Appの有効なaps-environment”エンタイトルメント文字列が見つかりません

 

有効なエンタイトルメント文字列が見つからないということなので、多分何かしらの問題があるとは思ったのですが、よくわからず。。。

 

 

ネットで調べてみると、プロジェクト設定の「Push Notifications」をオンにすると解決したとの情報が。

 

f:id:no-work-no-life-4081:20180908075736p:plain

 

試しにやってみたところ、無事プッシュ通知が受信できるようになりました。

 

最近Unityをいじる機会が多いので忘れてましたが、普通にネイティブでPush通知を実装していた時はこの「Push Notification」をオンにしていた気がする。

 

しばらくやらないと忘れるなー。

 

 

参考:

iOSのPush NotificationでAppの有効な“aps-environment”エンタイトルメント文字列が見つかりません"となる - 井原プロダクトのBLOG