2016-04-27 3 views
-3

Я хочу сохранить все данные, используемые в приложении на сервере (используя вызов API), когда пользователь нажал кнопку «домой». Я поставил наблюдателя вСохранить дату на сервере, когда пользователь нажимает кнопку дома

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(saveData) name:UIApplicationDidEnterBackgroundNotification object:nil]; 

метод saveData используется для отправки данных на сервер. Апи-вызов не работает. Любой способ вызвать API, когда пользователь закрывает приложение.

+0

просто вызов API с помощью NSURLSession – Neenu

+0

SO не платформа для воспроизведения угадай игру. Если вы хотите, чтобы мы помогли вам, вы должны показать нам свой код, чтобы мы могли лучше понять, что вы делаете неправильно. – ozgur

ответ

0

Я начал фоновую задачу

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 


     bgTask = [application beginBackgroundTaskWithName:@"MyTask" expirationHandler:^{ 

[self saveData]; 
      // Clean up any unfinished task business by marking where you 
      // stopped or ending the task outright. 

     }]; 

    // Start the long-running task and return immediately. 
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

     // Do the work associated with the task, preferably in chunks. 

     [application endBackgroundTask:bgTask]; 
     bgTask = UIBackgroundTaskInvalid; 
    }); 
} 

А потом добавил строку ниже внутри saveData метода

[application endBackgroundTask:bgTask]; 
      bgTask = UIBackgroundTaskInvalid; 
Смежные вопросы