Основные движения в фоновом режиме? - PullRequest
7 голосов
/ 07 февраля 2011

Будет ли работать платформа Core Motion, пока приложение работает в фоновом режиме?

Ответы [ 4 ]

1 голос
/ 07 июля 2016

Базовая структура Core Motion обеспечивает доступ к историческим данным для данных CMPedometer, поэтому, если ваше приложение использует только это, нет необходимости запускать в фоновом режиме.

Я играл с CM на прошлой неделе, и в моем тестировании, если у вас запущен активный запрос, когда ваше приложение отправляется в фоновый режим, обработчик запросов получает поток событий (которые произошли, когда приложение было приостановлено) по возвращении на передний план. Я не знаю, сколько событий будет кэшировано, и я не видел ничего в документации по этому поводу.

Такое поведение представляется достаточным. Я не могу вспомнить вариант использования Core Motion, где вам нужен постоянный фоновый доступ, исторических данных CMPedometer недостаточно, и это соответствует рекомендациям App Store.

0 голосов
/ 05 июня 2013

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

0 голосов
/ 18 января 2014

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

Обходным путем может быть включение UIBackgroundMode location, который предназначенпусть пользователи знают о своем местоположении, даже если приложение находится в фоновом режиме.Затем вы можете обернуть свою логику движения внутри.Тем не менее, очевидным недостатком этого является то, что в нем используется GPS, что значительно разряжает батарею ...

0 голосов
/ 08 февраля 2013

Зависит от вашего определения работы ... Будет ли Core Animation продолжать работать или вы ожидаете, что представление будет заморожено?Когда приложение работает в фоновом режиме, разрешено запускать только определенные процессы.(Уведомления например).

По большей части пользовательский интерфейс приложения и, соответственно, приостанавливается до тех пор, пока не будет запущен applicationDidBecomeActive .Когда он снова запустится, он должен возобновиться, но снова не работать в фоновом режиме.То же самое можно сказать и о большинстве игр на iOS с OpenGL, оно приостанавливается до тех пор, пока приложение снова не станет активным.

...