[번역] Core Location / Supporting Live Updatesin SwiftUI and Mac Catalyst Apps (애플 공식 문서)

Overview iOS 17 이상에서는 Core Location​이 Swift Concurrency​의 async/await 기능을 사용한 실시간 업데이트를 지원합니다. 실시간 업데이트를 적용하려면 SwiftUI 및 Mac Catalyst 앱에서 라이프사이클 이벤트를 지원해야 하며, 이를 통해 @main 앱이 백그라운드 런-루프의 생성과 재개를 명시적으로 지원하도록 구현해야 합니다. 이 기능을 통해 시스템은 Core Location 이벤트를 앱에 전달할 수 있으며, 앱이 백그라운드에서 다시 돌아오거나 실행될 때, 혹은 크래시 후 재실행될 때에도 이벤트 전달이 다시 이어질 수 있습니다. Adding lifecycle events to SwiftUI 라이프사이클 이벤트를 지원하도록 하려면 앱에 세 가지 컨포넌트를 추가해야 합니다: ...

November 30, 2025 · 3 min · 459 words · Me

[번역] Core Location / Getting Heading and Course Information (애플 공식 문서)

Overview 내베게이션 앱은 사용자가 목적지로 이동하도록 안내하기 위해 보통 방향(heading)과 진행 방향(course) 정보를 사용합니다. 사용자의 기기 방향은 자기 북극(magnetic) 또는 진북을 기준으로 한 현재 기기의 방향을 나타냅니다. GPS가 탑재된 기기는 이동 중인 방향을 나타내는 진행 방향 정보를 제공합니다. iOS의 나침반 앱은 아래 그림과 같이 이 방향 정보를 이용해 자기 나침반 인터페이스를 구현합니다. 증강 현실(AR) 앱은 이 정보를 사용하여 사용자가 어느 방향으로 향하고 있는지를 판단할 수도 있습니다. Get the current heading 방향(heading) 정보는 사용자의 기기가 현재 어떤 방향을 향하고 있는지를 판단하는 데 사용됩니다. 예를 들어, 증강 현실 앱은 현재 방향 정보를 활용하여 사용자의 화면에 어떤 정보를 표시할 지 결정할 수 있습니다. 방향 정보는 일반적으로 기기의 윗부분을 기준으로 판단하지만, CLLocationManager 객체의 headingOrientation 속성을 사용하여 값이 판단되는 기준을 설정할 수도 있습니다. ...

November 25, 2025 · 2 min · 264 words · Me

[번역] Core Location / Monitoring the user's proximity to geographic regions (애플 공식 문서)

Overview 지오펜싱은 사용자가 지리적 영역에 들어오거나 벗어날 때 앱이 알림을 받을 수 있는 방법입니다. 위치 관련 작업을 수행하기 위해 영역 모니터링(region monitoring)을 사용할 수 있습니다. 예를 들어, 아래 그림에 표시된 것처럼 미리 알림 앱은 사용자가 특정 위치에 도착하거나 떠날 때 미리 알림을 트리거하는 데 이를 사용합니다. iOS에서는 시스템이 영역을 모니터링하고, 조건이 충족됨(satisfied)와 충족되지 않음(unsatisifed) 상태 사이에서 변경될 때 필요에 따라 앱을 깨워줍니다. macOS에서는 조건 모니터링이 앱이 실행 중일 때(포그라운드 또는 백그라운드 상태 모두) 그리고 사용자의 시스템이 깨어 있는 동안에만 작동합니다. 시스템은 영역 관련 알림을 전달하기 위해 Mac 앱을 자동으로 실행하지 않습니다. ...

November 20, 2025 · 2 min · 374 words · Me

[번역] Core Location / Getting the current location of a device (애플 공식 문서)

Overview Core Location은 위치 관련 데이터를 가져오기 위해 여러 가지 서비스를 제공하지만, 가장 일반적인 서비스는 기기의 현재 위치를 반환합니다. 이 정보는 아래와 같은 용도로 사용할 수 있습니다. 도보, 자동차 또는 기타 교통수단을 통한 네비게이션을 지원합니다. 주변의 관심 지점(POI)를 식별합니다. 사람과 가까운 거리를 기준으로 검색 결과를 필터링합니다. 사람의 위치를 지도에 표시합니다. 사람의 위치를 친구와 공유합니다. 사진의 위치를 태그합니다. 소셜 미디어에 체크인합니다. 운동이나 하이킹 중 이동 경로를 추적합니다. Core Location은 Wi-Fi, 셀룰러, GPS 라디오 등 다양한 하드웨어를 사용하여 현재 위치를 결정할 수 있습니다. Core Location은 위치를 알아내기 위해 모든 라디오를 사용할 필요는 없습니다. 대신, 필요한 위치 데이터를 가장 전력-효율적인 방식으로 얻기 위해 선택적으로 라디오를 활성화합니다. CLLocationManager 객체의 설정은 시스템이 어떤 라디오를 사용할지와 앱의 전력 소모에 영향을 줍니다. ...

November 15, 2025 · 3 min · 562 words · Me

[번역] Core Location / CLLocationManager / requestAlwaysAuthorization() (애플 공식 문서)

iOS 8.0+ ⏐ iPadOS+ ⏐ Mac Catalyst 13.1+ ⏐ macOS 10.15+ ⏐ watchOS 2.0+ func requestAlwaysAuthorization() Mentioned in Creating a location push service extension Discussion 앱이 위치 정보를 받으려면 이 메서드나 requestWhenInUseAuthorization() 메서드를 반드시 호출해야 합니다. 이 메서드를 호출하려면 앱의 Info.plist 파일에 NSLocationAlwaysUsageDescription 키와 NSLocationWhenInUseUsageDescription 키가 모두 있어야 합니다. requestAlwaysAuthorization()은 현재 권한 상태가 다음 중 하나일 때 호출할 수 있습니다. 결정되지 않음(Not Determined) - CLAuthorizationStatus.notDetermined 앱을 사용하는 동안 허용(When In Use) = CLAuthorizationStatus.authorizedWhenInUse 사용자가 권한 선택을 한 후, 위치 업데이트를 받으려면 CLLocationManager 델리게이트의 locationManager(_:didUpdateLocations:) 메서드를 사용하세요. ...

October 25, 2025 · 3 min · 498 words · Me

[번역] Core Location / Requesting Authorization to Use Location Services (애플 공식 문서)

Overview 위치 데이터는 민감한 정보이며, 이를 사용하는 것은 앱 사용자에게 개인정보 보호와 관련된 영향을 끼칩니다. 사람들이 자신의 정보를 스스로 통제할 수 있도록, 시스템은 앱이 권한을 얻기 전까지 위치 데이터를 사용할 수 없도록 합니다. 이 권한 부여 과정에서 한 번의 인터럽션이 발생하며, 이때 시스템은 사용자에게 앱의 위치 데이터 사용 요청을 허용할지 거부할지 묻습니다. 초기 요청 이후에는 시스템이 앱의 권한 상태를 저장하고, 다시는 사용자에게 요청을 표시하지 않습니다. 사용자가 왜 위치 데이터가 필요한지 이해할 수 있도록, 권한 요청은 반드시 앱에서 해당 데이터가 필요한 기능을 사용할 때만 하세요. 필요한 순간 직전에 요청하면 사용자가 권한을 허용할 가능성이 높아집니다. 반대로 앱이 실행되자마자 요청하거나 위치 데이터를 명확히 사용하지 않는 부분에서 요청하면, 사용자가 의도를 오해하고 권한 요청을 거부할 수 있습니다. ...

October 20, 2025 · 5 min · 892 words · Me