분류 전체보기533 [iOS Issue] CLLocationManager 사용 시 주의할 점 CLLocationManager 객체를 생성 후 사용 시, manager 인스턴스의 참조를 어딘가에 보관해놓아야 한다. 아니면 local변수로 함수에서 선언하기만 하면 함수 종료 시 인스턴스가 메모리에서 해제되어 버려서 관련 기능들을 사용할 수가 없다(location update, 권한 얻기 등등) 정상 동작 코드 import UIKit import CoreLocation class ViewController: UIViewController { let manager = CLLocationManager() // 프로퍼티로 저장 override func viewDidLoad() { super.viewDidLoad() manager.delegate = self manager.desiredAccuracy = k.. 2022. 5. 30. [iOS] Background Modes의 Location Updates Apple Developer Documentation developer.apple.com Handling Location Events in the Background 대부분의 앱은 foreground에서 위치 서비스를 사용하지만 종종 Background 상태에서도 위치 정보를 업데이트 받아야할 필요가 있다. Application Capabilities의 Background Mode에서 Location Updates를 사용하면 백그라운드 상태에서도 위치 정보를 업데이트 받을 수 있다. 이 때 CLLocationManager의 allowsBackgroundLocationUpdates를 true로 해놓아야 한다. stopUpdatingLocation() 메서드를 호출하기 전까지 앱은 Background sta.. 2022. 5. 30. [iOS] Xcode에서 Application state 확인하기 Xcode에서 Application state 확인하기 앱 실행 Xcode Inspector에서 Debug navigator 탭 클릭 energy Impact 클릭 Application State에서 실시간으로 앱의 상태 변화 확인 가능 Foreground Background Suspended 2022. 5. 30. [iOS] Local Notification은 suspended에서 동작할까 문득 Local Notification을 앱이 suspended 상태로 전환되기 직전에 center에 request들을 추가해서 scheduling 해놓으면 동작할까라는 의문이 생겼다. 원래 Push Notification은 앱의 상태와 상관없이 동작해야하는게 맞기 때문에 동작은 당연히 할거라고 생각했는데 suspended 상태에서 동작하는지 background상태에서 동작하는지 명확히 확인하고 싶어서 테스트를 해보았고 결론은 'suspended에서 동작한다' 였다. func applicationDidEnterBackground(_ application: UIApplication) { var time: TimeInterval = 0 for _ in 0 ..< 10 { let content = UNMuta.. 2022. 5. 30. 이전 1 ··· 20 21 22 23 24 25 26 ··· 134 다음