2015-12-11 17 views
7

iOSのホーム画面で受信したすべてのプッシュ通知は、2時間の遅延で同じ通知バナーを2回トリガー/表示しますそれらの間の。すべてのプッシュ通知バナーはiOS9で2回表示されます

  • これは、iOS 9.x搭載のデバイスでのみ発生します。 iOS 8.xデバイスでは、すべてが期待どおりに動作しています。
  • - [AppDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:]にブレークポイントを設定すると、プッシュ通知ごとに1回だけ呼び出されます。

また、私たちは最近(少なくとも弱い)バックエンドに変更を加えておらず、すでにリリースされているクライアントでも発生しています。

しかし、現在の開発アプリケーションのXcodeの機能を変更し、新しいプロビジョニングプロファイルを古いものとして生成する必要がありました。古いプロビジョニングプロファイルは「無効」というタグが付いています。

私たちにとってはApple側の問題のようです。何を試したり、チェックしたり、何をすべきか、何か提案がありますか?

答えて

7

私は正確にthis dudeと同じ問題が持っていたように思え:私は二回[registerUserNotificationSettings:]と呼ばれます。

を私は特定のUIViewControllerで目的に一度呼ば:

は、あなたが一度か二度メソッドを呼び出したかどうかを確認するために考えるほど明らかではないかもしれないことに注意してください。残念ながら私はまた毎回didFinishLauchingWithOptions:でそれを呼びました。 ダイアログが一度だけ表示されるため、自分自身をだましてはなりません。

ログ出力を追加する場合は、-[AppDelegate application:didRegisterUserNotificationSettings:]に出力してください。私の場合は、権限ダイアログでOKを押すとコールバックが2回呼び出されました。

私はdidFinishLauchingWithOptions:で間違った電話を取り除いてから、もう二重の通知は表示されませんでした。

3

私はアップル(チケット#23569779)にバグレポートを提出し、問題がiOSの9.2.1ベータ版で修正されているように見えます(ビルド:13D11)を

私は(iOS9.1上で同じ問題を経験していましたビルド:13B143)とiOS9.2(ビルド:13c75)の両方をサポートしています。

私が問題を再現する最も簡単な方法は、アプリがバックグラウンドになっているときに、アプリデリゲート内でローカル通知をスケジュールすることです。

- (void)applicationDidEnterBackground:(UIApplication *)application { 

    UILocalNotification *notification = [[UILocalNotification alloc] init]; 

    notification.repeatInterval = NSDayCalendarUnit; 
    [notification setAlertBody:@"My test."]; 
    [notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:1]]; 
    [notification setTimeZone:[NSTimeZone defaultTimeZone]]; 
    [application setScheduledLocalNotifications:[NSArray arrayWithObject:notification]]; 
} 

これを2回表示される通知のバナーになります:

Duplicate banner images

+0

あなたのバグレポートのチケットは閉じられていましたか?チケットを[OpenRadar](https://openradar.appspot.com)に提出すれば非常に便利です!私はこの同じ問題を抱えていて、それが修正されたという公式のコメントが大好きです。 – pkamb

+0

バグレポートが閉じられ、問題はiOS 9.2.1ベータ版(ビルド:13D11)で修正されました。 – gatlinhebert

+0

iOS 9.3.5でこの問題が発生しています。 –