Вы можете сохранить локальное хранилище данных, а затем отправлять обновления на сервер только тогда, когда приложение обнаружит, что пользователь переместился. Я почти уверен, что это сработает, и на стороне сервера вы просто работаете в последний раз, когда пользователь регистрируется, а затем сравниваете это с текущим временем, чтобы увидеть, как долго они были где-то. Единственная техническая проблема, с которой я могу столкнуться, заключается в том, что для этого требуется, чтобы пользователь включил iphone и приложение открывало ВСЁ время, когда они где-то находились, что означало бы, что iphone теперь просто довольно дорогой GPS-трекер со встроенным телефоном!