【发布时间】:2016-02-16 17:13:31
【问题描述】:
我在 iOS 中遇到推送通知问题,与this 和this 和another one 的情况类似。
另外,this post 恢复所有可能的情况。 就我而言:
- 应用没有运行
- 内容可用:1
- UIBackgroundModes 包含“远程通知”和“获取”
如果用户强制退出应用并收到推送通知,则它可以通过警报或图标打开应用。 当用户点击通知时,应用程序将被打开并执行以下方法:
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Handle for notifications when app is closed
if (launchOptions) {
NSDictionary *userInfo = [launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
NSDictionary *apsInfo = [userInfo objectForKey:@"aps"];
if (apsInfo) {
// handle notification
}
}
到这里为止没问题,我有负载可以用该信息做一些事情(例如从服务器获取新数据)。
但是,如果用户从图标打开应用程序,我将无法处理有效负载(尽管执行了 didFinishLaunchingWithOptions,但根据文档 here,我没有 aps 信息)。
所以,问题是,有什么办法可以解决这个问题? 例如,我用 WhatsApp 进行了测试,他们处理了这种情况,(可能他们使用的是 VOIP 通知而不是远程通知)
问候
【问题讨论】:
-
我的猜测是,当应用程序处于活动状态时,他们正在通过 API 从远程服务器加载数据,而不是从通知中加载。
-
感谢您的回复,是的,这是另一种选择。但我对客户端的可能性表示怀疑。
-
亲爱的 Fe Juarez,我也坚持这个 从上周开始,但还没有解决,你能解决这个..??如果您对此有任何想法、描述、示例、代码,请剪我。提前致谢!
标签: ios objective-c notifications push