Работа в фоновом режиме в iOS

Я Android-разработчик и не так давно начал изучать iOS-разработку. У меня есть
приложение для Android, которое я хочу перенести на iOS. В моем приложении
есть фоновая служба, которая отслеживает геолокацию пользователя и отправляет ее на мой сервер, затем получает от него ответ и затем записывает этот ответ в SQLLite. Скажите, пожалуйста, насколько это возможно сделать на iOS? Я знаю, что iPhone может получать обновления местоположения в фоновом режиме, начиная с iOS4, но как насчет фоновых сетевых подключений и SQLLite? Также возможно ли отправлять локальные push-уведомления в фоновом режиме?


person whizzzkey    schedule 15.04.2014    source источник
comment
Все, о чем вы говорите, возможно. Вам будут интересны 2 фоновых режима: 1) Местоположение 2) Фоновая выборка. Термин «локальный толчок» используется для обозначения уведомления, которое отправляет приложение. Если вы имеете в виду, возможно ли отправить удаленное уведомление с сервера в приложение, когда приложение находится в фоновом режиме, тогда это называется удаленным уведомлением, и это будет третий фон. интересующий вас режим. (Фоновая удаленная отправка и фоновая выборка возможны только в iOS7). Наконец-то есть SQLLite.   -  person Gruntcakes    schedule 15.04.2014
comment
@MartinH спасибо за ответ, скажите, пожалуйста, могу ли я работать с SQLLite в фоновом режиме на iOS? Мне нужно читать и записывать некоторые данные из БД при отслеживании GPS.   -  person whizzzkey    schedule 16.04.2014


Ответы (1)


подскажите пожалуйста сколько можно сделать это на ios?

iOS — это зрелая ОС, которая поставляется с Cocoa Touch, огромной библиотекой классов. Итак, да, это возможно. И вопрос о возможности не должен быть присоединен к слову much. Либо что-то возможно, либо что-то невозможно. Не принимайте это как много. Если это возможно, вы можете это сделать.

как насчет фоновых сетевых подключений и SQLite?

Конечно, это возможно. Как и в Android, в iOS существует правило, согласно которому только ваш основной поток может взаимодействовать с UI, а все остальные тяжелые задачи должны быть присоединены к другим потокам. Вы будете использовать Blocks для реализации такой функциональности.

Также возможно ли отправлять локальные push-уведомления в фоновом режиме?

Да, это вполне возможно. Взгляните на следующий документ.

Руководство по программированию локальных и push-уведомлений

Загляните на http://developer.apple.com/, здесь вы найдете множество документов, связанных к задачам, которые вы задали в своем вопросе.

person Arslan Ali    schedule 15.04.2014
comment
Вы будете использовать блоки для выполнения такого рода функций. ОП, очевидно, спрашивает о фоновых режимах, а не о фоновом потоке, и это явно не одно и то же. Сказать ему, что это можно сделать с помощью блоков, очень его запутает. - person Gruntcakes; 15.04.2014
comment
Спасибо за ваш ответ, мне нужно сделать что-то вроде сервиса в Android, т.е. мне нужно, чтобы приложение отслеживало GPS, отправляло его на сервер, получало ответ и записывало этот ответ в SQLLite - и вся эта работа должна выполняться в фоновом режиме. - person whizzzkey; 16.04.2014