iOS фоновая загрузка продолжает запускать приложение

Я работаю над приложением для iOS, в котором включена функция Background Fetch через Info.plist около года. Было выпущено несколько версий с включенной фоновой выборкой, но затем несколько недель назад была удалена функция, которая требовала фоновой выборки. 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.

Кстати, запрос помощи на уровне источника был отправлен в Apple с этой проблемой, но они еще не ответили; но, возможно, разработчики других приложений сталкивались с этой проблемой раньше.

0 ответов

Другие вопросы по тегам