相关疑难解决方法(0)

如果用户强行退出,iOS会将我的应用程序启动到后台吗?

我通过content-available在推送通知上使用标志来触发后台获取.我有fetchremote-notification UIBackgroundModes启用.

这是我在AppDelegate.m中使用的实现:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
    NSLog(@"Remote Notification Recieved");
    UILocalNotification *notification = [[UILocalNotification alloc] init];
    notification.alertBody =  @"Looks like i got a notification - fetch thingy";
    [application presentLocalNotificationNow:notification];
    completionHandler(UIBackgroundFetchResultNewData);

}
Run Code Online (Sandbox Code Playgroud)

当应用程序在后台运行时,它可以正常工作.(收到通知,应用程序触发"看起来像我收到通知"本地通知,因为上面的代码应该这样做).

但是,当应用程序未运行并且收到带有content-available标志的推送通知时,应用程序不会启动,并且didRecieveRemoteNotification永远不会调用委托方法.

WWDC视频最新的多任务处理(来自WWDC 2013的#204)显示了这一点:在此输入图像描述

它表示当收到带有content-available标志的推送通知时,应用程序将"启动到后台" .

为什么我的应用程序没有启动到后台?

所以真正的问题是:

用户强行退出应用后,iOS会执行后台任务吗?

push-notification apple-push-notifications ios ios7

217
推荐指数
4
解决办法
12万
查看次数

iOS:使用VOiP通知而不是"正常"通知

我们只是将VOiP功能添加到我们的应用程序(消息传递应用程序),现在我们将使用VOiP(PushKit Framework).

任何人都可以告诉我,我们是否只能使用该通知(VOIP通知)?甚至对于文本消息的含义(例如,不是用于呼叫)?我谈到Apple Appstore Guides,他们可以拒绝该应用或阻止通知,如果他们发现我们使用该通知通知用户其他事情然后是VOIP呼叫?

notifications push-notification ios pushkit

5
推荐指数
1
解决办法
1998
查看次数