Я не могу получить данные в фоновом режиме в iOS

Мое приложение выполняет предполагаемые операции, когда я использую Simulate Background Fetch на вкладке Debug в Xcode, однако, когда приложение работает на моем телефоне, ничего не работает.

Случалось ли это с кем-то раньше? Как вы это решили?

В настоящее время я использую Swift 2.2 и Xcode 7.3.


person the_ccalderon    schedule 07.09.2016    source источник


Ответы (2)


Редактировали ли вы схему в режиме выполнения для Launch due to a Background Fetch Event

Фоновая выборка iOS не работает, хотя правильный фоновый режим Настроено

person g3ctong    schedule 07.09.2016
comment
Спасибо за вашу помощь, но когда я это делаю, код выполняется, но только один раз. Когда я запускаю приложение, установленное на моем iPhone, код никогда не выполняется. - person the_ccalderon; 07.09.2016

iOS не позволит ни одному приложению работать в фоновом режиме, если приложение не попросит об этом, и позволит ему работать в течение 10 минут только для регистрации для фонового выполнения:

- (void)applicationDidEnterBackground:(UIApplication *)application {
    UIBackgroundTaskIdentifier identifier;
    identifier = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
        [[UIApplication sharedApplication] endBackgroundTask:identifier];
    }];
}
person Karim H    schedule 07.09.2016
comment
Я не понимаю вашего ответа. Я включил необходимые фоновые режимы, а также реализовал метод func application(application: UIApplication, PerformFetchWithCompletionHandler completeHandler: (UIBackgroundFetchResult) -> Void). Что еще мне нужно? - person the_ccalderon; 08.09.2016
comment
Вам нужно сообщить iOS, что вы хотите фоновое выполнение, режимы настроек не нужны, вы должны явно требовать этого. - person Karim H; 09.09.2016