iOS后台获取不断启动应用程序

时间:2017-12-08 10:54:46

标签: ios background-fetch background-mode uibackgroundmode ios-background-mode

我正在开发一个iOS应用程序,该应用程序通过Info.plist启用Background Fetch大约一年。在启用了后台提取的情况下发布了多个版本,但几周前删除了需要进行后台提取的功能。 UIBackgroundModes密钥已从Info.plist中完全删除,应用程序已发布到App Store。 但令人惊讶的是,遥测表明该应用程序仍然定期在后台启动!这是来自实际应用代理源代码的片段:

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    // NB: this callback should NEVER happen! But if it happens, we want to know about it.
    ... send telemetry log here ...
    completionHandler(UIBackgroundFetchResultNoData);
}

有没有人经历过类似的事情?根据文档,如果UIBackgroundModes字典不包含正确的值,则应该无法启动应用程序。在这种情况下,所有都没有启用后台模式,但是该应用会定期在后台启动以执行获取...

遥测数据表明它仅在iOS 11上发生,但这可能是巧合,因为只有一小部分已安装的基础在iOS 9/10上。

BTW已向此问题向Apple发送了源级协助请求,但他们还没有回复;但也许其他应用程序的开发人员之前遇到过这个问题。

0 个答案:

没有答案