我们在商店中有一个使用 Xcode 4 构建的报亭应用程序。我们注意到,当应用程序处于后台时,对于运行 iOS 7 的设备,远程通知不再转发到我们的应用程序。如果设备在前台,则接收并处理通知。
此外,这些通知会在运行 iOS 6 及更早版本的设备上得到适当处理和处理。
在设备上启用持久日志记录后,我们可以看到 iOS 7 设备接收到通知但- [UIApplication application: didReceiveRemoteNotification:]
从未调用过。
评估运行 iOS 5/6/7 的设备的设备日志,我们看到远程通知进来了:
Oct 24 11:24:22 iPad-Retina apsd[82] <Warning>: 2013-10-24 11:24:22 +0200 apsd[82]: <APSCourier: 0x14d8c7b0>: Received message for enabled topic 'com.companyname.ourapp' with payload '{
aps = {
"content-available" = 1;
importantInformation = @"23";
sound = "";
};
}' onInterface: NonCellular for device token: NO with priority (null)
在 iOS 7 上,此通知不会转发到应用程序,但在早期版本的 iOS 上,我们看到对以下方法的调用:
Oct 24 11:24:20 Pad2-3G Magic[1328] <Warning>: -[ApplicationDelegate application:didReceiveRemoteNotification:]
我们的报亭通知已成功处理。
有什么方法可以确保使用 iOS 6 SDK 的 iOS 7 设备成功下载报刊亭?
一个不涉及使用 Xcode 5 的答案,因此至少在我们重新设计应用程序之前,iOS 7 SDK 是更可取的。
提前致谢