Я внедрил молчание push-уведомлений, но я заметил какое-то странное поведение. Бесшумные push-уведомления обрабатываются через:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
Тихие push-сообщения, по-видимому, принимаются только в том случае, если устройство заряжается (т.е. подключен кабель) и/или если мое приложение находится на переднем плане.
Если я отсоединяю устройство от зарядного устройства (или Mac), то тихие push-уведомления больше не принимаются, если приложение не находится на переднем плане.
В обоих случаях я получаю не-молчащие push-уведомления.
Если я снова подключу USB-кабель, я получаю ожидаемое поведение, а молчащие push-уведомления получаются независимо от того, является ли приложение передним или фоновым.
Я использую UILocalNotification, поэтому я знаю, что получает.
Тот факт, что все работает отлично с подключенным устройством, говорит о том, что мои тихие нажатия уведомлений настроены правильно и что приложение имеет правильные фоновые режимы, установленные в plist и т.д.
Это поведение повторяется на iPhone 5s, 6 и iPad 2, работающих либо на IOS 8, либо на 8.1.
Кто-нибудь еще испытал это? Это должно быть легко воспроизвести. Почему простой способ подключения устройства к зарядному устройству меняет способность получать бесшумные push-уведомления?