gpt4 book ai didi

ios7 - iOS 7 : didreceiveremotenotification fetchcompletionhandler not getting called when app kept in background for over night testing

转载 作者:行者123 更新时间:2023-12-04 22:01:05 25 4
gpt4 key购买 nike

  1. 我使用 VoIP 和远程通知作为后台模式。

  2. 我让我的应用程序在后台闲置以进行通宵测试。

  3. 我在 applicationDidEnterBackground 中编写了以下代码

        - (void)applicationDidEnterBackground:(UIApplication *)application

    {

    [[UIApplication sharedApplication] setKeepAliveTimeout:600 handler:^{
    NSString *message = @"voip keep alive timeout executed....";
    NSLog(@"%@",message);
    [Logger addEntry:CAT_ML_CORE andSubCategory:SUBCAT_DEBUG andMessage:message];
    }];

  4. 在让应用程序在后台空闲 1 天后,我发现“voip keep alive timeout executed...”打印在我的日志中。

  5. 这表明我的应用还活着。

  6. 但是当我向我的应用发送推送通知时,“didreceiveremotification fetchcompletionhandler”方法没有被调用。

  7. 这与 Apple 的声明相矛盾“与 application:didReceiveRemoteNotification: 方法不同,该方法仅在您的应用程序运行时调用,系统会调用 didreceiveremotenotification fetchcompletionhandler 方法,而不管您的应用程序的状态如何。如果您的应用程序挂起或未运行,系统唤醒或启动您的应用程序并将其置于后台运行状态,然后再调用该方法。”

谁能告诉我为什么会这样?

最佳答案

确保您的 APNS 负载具有“内容可用”

content-available - number - 为该键提供值为 1 以指示新内容可用。这用于支持报亭应用和后台内容下载。

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

关于ios7 - iOS 7 : didreceiveremotenotification fetchcompletionhandler not getting called when app kept in background for over night testing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20042597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com