CLMonitor
·
SWIFT개발
WWDC23에서 새로 나온 API로 사용자의 위치나 비컨을 모니터링하는 새로운 방식이다.  이 글에서는 실제 내가 볼레또 프로젝트에 어떻게 적용했는지를 자연스럽게 작성할 예정입니다.사실상 너무 간단하다. 1. 원하는 이름으로 CLMonitor 인스턴스를 생성하고2. 모니터링할 조건(지리적위치, 비컨)을 정의하고3. 이벤트대기: 조건이 충족되면 이벤트를 비동기적으로 수신하고4. 동작 수행: 이벤트가 발생하면 원하는 로직을 실행한다.즉 조건에 의해 조건이 충족될때 이벤트를 비동기적으로 처리할 수 잇게 해준다.하지만 어떻게 구현되어있는지를 살펴보자  CLMonitor 인스턴스는 각각 하나의 모니터링 작업에 대한 "게이트웨이" 역할을 한다. CLMonitor는 액터로서 설계되었기 때문에, 여러 스레드가 동시에 ..
CoreLocation과 Battery의 관계
·
SWIFT개발
바로 직전의 글에서 CoreLocation을 이용해 위치를 가져오는 기능을 구현하였다.... 근데...핸드폰이 뜨겁다.. 나라도 이 앱안쓸듯?그래서 어떻게 하면 효율적으로 사용할수 있을지 체크하며 개선하는 작업이 필요하다.애플에서는 background location을 측정할수 있는 3가지 방법이 존재한다고 한다.   1.  Xcode Gauges를 이용하면 xcode내에서 CPU, Network, 위치 사용량 등 시스템 사용량에 대한 정보를 제공한다. 또한 시간대로 위치사용이 앱에 미치는 영향을 보여준다. 그래서 내가 궁금했던 corelocationManager를 어떻게 관리해야 enegery를 가장 아끼고 우리가 원하는대로 사용할 수 있을지 지금부터 체크해보겠습니다.배터리? distanceFilter..
CoreLocation & MapKit
·
SWIFT개발
: 애플의 여러디바이스들을 통해 위치정보를 활용할수 있는 FrameworkWi-fi, GPS, Bluetooth, 자기장 센서, 기압계, 셀룰러를 이용하여 위치데이터를 수집한다.우리는 CLLocationManager class를 통해 많은 데이터를 가져올수 있다표준적이고 중요한 위치 업데이트표준 위치? 주기적으로 유저의 위치를 업데이트 하여 GPS기반 데이터 활용. 정확도 조절이 가능하고 이동경로나 위치의 정확한 정보를 필요할때 사용하면 된다. → 더 많은 에너지 소모중요 위치? 사용자의 위치가 크게 바뀔때만 업데이트한다. 정확도가 떨어지지만 에너지는 절약startMonitoringSignificantLocationChanges() 500m이상 이동할때만 이벤트를 처리해줄수 있다. 물론 백그라운드에서 이..