Перейти к содержанию
Fire Monkey от А до Я
  • 0

Фоновые операции


Syb

Вопрос

Как реализованы в iOS фоновые операции судя по отсутствию тем можно просто потоком запустиь при сворачивании и засыпании не заморозится как у андроида?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

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

заморозится(а точнее "умрет") поток - если андроид сам (по каким-то там своим соображениям) завершит процесс.

Ссылка на комментарий
  • 0

К слову, не все приложения "замораживаются" на iOS, а именно - сервисы определения местоположения, воспроизведение музыки и VoIP-звонки. Так что если хотите, чтобы ваше приложение работало в фоне, научите его (приложение) например получать координаты местоположения.

 

Кстати, все изменилось с iOS 7, подробнее тут.

Ссылка на комментарий
  • 0

К слову, не все приложения "замораживаются" на iOS, а именно - сервисы определения местоположения, воспроизведение музыки и VoIP-звонки. Так что если хотите, чтобы ваше приложение работало в фоне, научите его (приложение) например получать координаты местоположения.

 

Кстати, все изменилось с iOS 7, подробнее тут.

Добрый день научить приложения получать кординаты  не проблема  только зачем приложению которое  запрашивает инфу на сайте   определять место положение  чтоб вывводить уведомление  NotificationCenter 

 

проигрывать музыку тоже не вариант так как  приложения не пропустят в appstire

 

возможно уже ктото нашел решения как всетаки заставить работать в фоне

сделать изменения в info.plist не проблема  даже в списке  обновления контента приложение появилось  но я немогу придумать  замену таймеру чтоб все отрабатывалось когда приложение скрыто

Ссылка на комментарий
  • 0

Просто фоновые операции запрещены. Есть режим backgroundfetch. Вы регистрируете в системе обработчик события, которое вызывает сама система. Т.е. задать интервал самом реально не получится. Время выполнения вашего обработчика максимум 30 секунд. Чем больше работает ваш обработчик, тем реже система будет его вызывать. Более того, ваше приложение периодами выполняет какое-то действие, а потом система решила нахрен выгрузить ваше приложение и все, больше обработчик работать не будет. Т.е. сделать полноценный сервис который всегда будет работать в фоне невозможно из-за архитектуры ОС. 

 

P.S.: На практике, вызывается это событие раз в 10-60 минут.

Изменено пользователем xenon54
Ссылка на комментарий
  • 0

обработчик работает  очень быстро  делает запрос на сервер получает json строку и дальше условие если изменилось  поступает уведомление если нет  должен через определеный период  времени опять сработать не могу найти никакой информации  подскажите хоть в какую сторону копать

Ссылка на комментарий
  • 0

http://qc.embarcadero.com/wc/qcmain.aspx?d=128968

 

Но еще раз повторю, вы не можете контролировать интервалы срабатывания обработчика. Это на усмотрение ОС.

Изменено пользователем xenon54
Ссылка на комментарий
  • 0

Пользователь активирует приложение и оно сработает!

Не могу понять в чем проблема у Вас?

Или Вы хотите из телефона сервер приложений сделать?

Тогда так не получится, это телефон, а не полноценный десктопный компьютер!

Ссылка на комментарий
  • 0

Пользователь активирует приложение и оно сработает!

Не могу понять в чем проблема у Вас?

Или Вы хотите из телефона сервер приложений сделать?

Тогда так не получится, это телефон, а не полноценный десктопный компьютер!

правильно сработать  должно после актвации приложения  но  оно также должно работать в фоне проверять наличие обновления информации на сервере и еслси таковы есть  уведомлять  клиента

Ссылка на комментарий
  • 0

Пользователь активирует приложение и оно сработает!

Не могу понять в чем проблема у Вас?

Или Вы хотите из телефона сервер приложений сделать?

Тогда так не получится, это телефон, а не полноценный десктопный компьютер!

правильно сработать  должно после актвации приложения  но  оно также должно работать в фоне проверять наличие обновления информации на сервере и еслси таковы есть  уведомлять  клиента

Ну так уведомите пользователя push сообщением об изменениях с сервера!

Ссылка на комментарий
  • 0

push не подходит  по сути приложение будет обновлять список заказов с разных сайтов через json 

Ну так пользователь увидит push, откроет приложение и тогда Ваше приложение обновит список заказов!

Ссылка на комментарий
  • 0

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

Они ограничены! Это Вам не десктоп!

не понимаю зачем тогда компонент NotificationCenter когда приложение запущено я и так все увижу

и второй вопрос  работают же в фоновом режиме  почтовые клиенты например и никаких проблем не возникает или они работают черз push ?

Ссылка на комментарий
  • 0

Через push!

Установите mail.ru Почта, закройте приложение, выгрузите из памяти, загасите телефон,

Отправьте себе письмо, он брякнет сообщением, отключите сеть (и мобильную и wi-fi)!

Откройте теперь мобильное прилодение и Вы не прочитаете письмо, даже не увидете в списке!

как то так...

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...