Я создал простое приложение на основе геосферы, чтобы отслеживать перемещение людей, входящих и выходящих из геообъекта, и я пытаюсь отправить уведомление об этих событиях, но, похоже, не может его правильно реализовать.Как реализовать локальные уведомления с использованием геозонности?
Я бы очень признателен за объясненный пример кода, который будет отображаться в контроллере представления и делегировании приложения.
P.s Мои знания о быстром несколько ограничены, но я понимаю большинство аспектов, необходимых для этого приложения. Спасибо за любую помощь!
Edit:
Это моя функция для создания уведомлению, которое я считаю правильным.
func scheduleNotification() {
let centre = CLLocationCoordinate2DMake(51.364730, -0.189986)
let region = CLCircularRegion(center: centre, radius: 150, identifier: "SGS")
region.notifyOnEntry = true
let trigger = UNLocationNotificationTrigger(region: region, repeats: true)
let enterContent = UNMutableNotificationContent()
enterContent.title = "Enter"
enterContent.body = "Entered premesis"
enterContent.sound = UNNotificationSound.default()
let enterRequest = UNNotificationRequest(identifier: "enterNotification", content: enterContent, trigger: trigger)
UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
UNUserNotificationCenter.current().add(enterRequest) {(error) in
if let error = error {
print("Error: \(error)")
}
}
}
Я добавил это к didFinishLaunchingWithOptions:
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) {(accepted, error) in
if !accepted {
print("Notification access denied.")
}
}
Я знаю, что нужно вызвать функцию, но я не знаю, где сделать это так, что она вызывается, когда геозоны осталось. Также я не уверен, как вызвать его из контроллера представления, как в AppDelegate.
Извините, если я глуп, но спасибо за помощь!
Пожалуйста, напишите, что вы пробовали и что не работает. – shallowThought