В настоящее время я работаю над regionMonitoring в Swift, где я проверяю, находится ли пользователь в определенном месте. Я использую фоновые режимы (местоположение), чтобы проверять местоположение каждые 50 метров, которые перемещает пользователь. Это пробуждает мое приложение и предоставляет ключ местоположения в application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?)
.
Я также проверяю, на первом viewController, есть ли у пользователя рабочее подключение к Интернету. В противном случае отображается сообщение: «Пожалуйста, убедитесь, что вы подключены к Интернету».
В последние дни я заметил, что это сообщение показывалось, даже когда у меня было рабочее соединение, но мой Интернет был отключен, когда я был в пути. Поэтому я думаю, что приложение было разбужено и затем направлено на первый контроллер представления после didFinishLaunchingWithOptions.
Возможно ли это? Мое приложение запускается "полностью", когда новое место собрано? Могу ли я реализовать следующее в didFinishLaunchingWithOptions
, чтобы предотвратить это:
if(launchOptions?[UIApplication.LaunchOptionsKey.location] != nil) {
// handle new location that was sent, but don't launch the rest of the application
} else {
// do all the regular stuff, such as setting keyWindow etc
}
Или это может вызвать проблемы в некоторых случаях? Если я сам открою приложение, можно ли включить туда ключ местоположения?