https://developer.apple.com/documentation/usernotifications/unlocationnotificationtrigger
"A trigger condition that causes the system to deliver a notification when the user’s device enters or exits a geographic region you specify."
사용자의 기기가 구체화한 지리적 지역에 진입하거나 빠져나올 때 노티피케이션을 전달하기 위해 시스템을 움직이는 트리거 조건입니다.
기기가 특정 지리적 지역에 진입하거나 빠져나올 때 로컬 노티피케이션의 전달을 스케줄링하길 원한다면 UILocationNotificationTrigger
객체를 생성할 수 있습니다. 시스템은 동시에 스케줄링할 수 있는 지역 기반 트리거의 수를 제한합니다.
Important
이 트리거를 사용하는 노티피케이션 스케줄링 전에 앱은 코어 로케이션 사용을 위한 권한과 사용 시점의 허용을 갖고 있어야 합니다. (시스템이 실제로 지역을 모니터링하기 때문에 앱에 항상 허용을 요청할 필요는 없습니다.) 권한 요청 방법에 대한 내용은 Requesting Authorization for Location Services를 보시기 바랍니다.
Requesting Authorization for Location Services
https://developer.apple.com/documentation/corelocation/requesting_authorization_for_location_services
https://velog.io/@panther222128/Requesting-Authorization-for-Location-Services
지역을 설정할 때 시스템이 진입, 빠져나옴, 혹은 모두 총 세 가지 중 어떤 것을 시스템이 전달할지 구체화하기 위해 notifyOnEntry
와 notifyOnExit
속성을 사용할 수 있습니다. Listing 1은 사용자의 기기가 2 킬로미터 반경의 원형 지역에 진입할 때 한 번만 울리는 트리거의 생성을 보여주고 있습니다.
Listing 1 Creating a location-based trigger
let center = CLLocationCoordinate2D(latitude: 37.335400, longitude: -122.009201)
let region = CLCircularRegion(center: center, radius: 2000.0, identifier: "Headquarters")
region.notifyOnEntry = true
region.notifyOnExit = false
let trigger = UNLocationNotificationTrigger(region: region, repeats: false)
시스템은 경계의 모서리가 겹쳐질 때 지역 기반 노티피케이션을 즉시 트리거하지 않습니다. 시스템은 경계가 정확한 이벤트를 나타내고 가짜 위치 데이터의 결과가 아님을 보장하기 위해 어림짐작을 적용합니다.어림짐작에 대한 정보는 Monitoring the User's Proximity to Geographic Regions를 보시기 바랍니다.
Monitoring the User's Proximity to Geographic Regions
https://developer.apple.com/documentation/corelocation/monitoring_the_user_s_proximity_to_geographic_regions
https://velog.io/@panther222128/Monitoring-the-Users-Proximity-to-Geographic-Regions
시스템이 특정 날짜 및 시간에 전달하는 노티피케이션을 유발하는 트리거 조건입니다.
https://developer.apple.com/documentation/usernotifications/uncalendarnotificationtrigger
https://velog.io/@panther222128/UNCalendarNotificationTrigger
시스템이 구체화한 시간이 지난 후 노티피케이션을 전달하도록 하는 트리거 조건입니다.
https://developer.apple.com/documentation/usernotifications/untimeintervalnotificationtrigger
https://velog.io/@panther222128/UNTimeIntervalNotificationTrigger
노티피케이션을 보낸 애플 푸시 노티피케이션 서비스(APNs)를 나타내는 트리거 조건입니다.
https://developer.apple.com/documentation/usernotifications/unpushnotificationtrigger
https://velog.io/@panther222128/UNPushNotificationTrigger
로컬 혹은 원격 노티피케이션의 전달을 트리거하는 서브클래스에 대한 일반적인 동작입니다.
https://developer.apple.com/documentation/usernotifications/unnotificationtrigger
https://velog.io/@panther222128/UNNotificationTrigger