геозона в iOS 7.1 и выше. поэтому, когда пользователь уже находится внутри геозоны и, скажем, видит рекламу приложения и только затем загружает приложение из магазина приложений и открывает приложение. На этом этапе приложение должно дать пользователю определенное сообщение (но только один раз). КАК этого можно достичь?
Позже приложение регистрирует регион и отслеживает его как обычно, поэтому, когда пользователь входит в регион и выходит из него, происходят определенные вещи.
Я чувствую, что это должно быть решенным вопросом. т.е. должен быть надежный способ определить, находился ли пользователь в регионе уже в момент начала мониторинга, но я не нахожу никаких указаний на то, как это можно сделать с помощью данных API.
Когда приложение запускается в этом сценарии, я вижу следующую последовательность api в iphone 5s
locationManager startMonitoringForRegion
<location permission popup>
locationManager:didStartMonitoringForRegion: (in this delegate method i can call the below to check if the device is already inside the region)
|-locationManager requestStateForRegion:
locationManager:didDetermineState: (fired as a result of the requestStateForRegion: call)
Но locationManager:didDetermineState: также вызывается при входе и выходе из региона.
locationManager:didExitRegion:
locationManager:didDetermineState:
Итак, мне нужно будет хранить состояние, которое для определенного региона и начального сообщения уже отображалось? и поэтому не отображайте его, если это состояние существует .. звучит хаки!
[[UIApplication sharedApplication] applicationState]
будет полезен для вашего варианта использования. - person Asa   schedule 16.09.2014