スポンサーリンク

【Unity】Missing Push Notification Entitlement Unity iOSアプリ申請アップロード時のエラー対応

Missing Push Notification Entitlement

Unity にて iOS プロジェクトを作成し iTunesConnect へ申請時、
Upload Received から Waiting for Review へステータスがかわらず、
Invalid Binary のステータスになってしまいました。

また、アップロード失敗のメールも届きます。
届いたメールには 恐らく Missing Push Notification Entitlement と書かれていました。

プッシュ通知を利用していないので、証明書もプッシュ通知を有効にしていないので・・・
Unity ではどうやらデフォルトで プッシュ通知のロジックが有効になり、iOS プロジェクトを作成時に
プッシュのロジックが含まれてしまうようです。

iTunesConnect にバイナリをアップロード後は簡易にアップルのチェックが自動的に行われ、そこで
プッシュ通知のロジックはあるがプッシュ通知の証明書が無効と判断されるようです。

Unity にはプッシュロジックの無効のオプションがないので、仕方なく
xcode にてアップロードの前にプッシュ通知のロジックをコメントアウトすることで対応しました。

対応方法

Classes フォルダ内の
UnityAppController.mm
ファイルのコードを下記のようにコメントアウトします。

//- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
//{
//     UnitySendRemoteNotification(userInfo);
//}
//
//- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
//{
//     UnitySendDeviceToken(deviceToken);
//}
//
//- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
//{
//     UnitySendRemoteNotificationError(error);
//}

//     // get remote notification
//     if (&UIApplicationLaunchOptionsRemoteNotificationKey != nil)
//     {
//          NSDictionary *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
//          if (notification)
//               UnitySendRemoteNotification(notification);
//          }

これにて無事 Waiting For Review へステータスが変わりました。

また、審査も問題なく通りました。

また、他の手段としては証明書のプッシュ通知を有効にするですが、
こちらの場合は利用していないのに有効にするのは気持ちが悪いので、
どうなんでしょうかね?

ちなみにUnity のオプション等で選択できるようになる事を望みます。
可能な限りプロジェクト作成後は何もせずにアップロードがしたいです。

 

タイトルとURLをコピーしました