iOS8 에서 CLLocationManager 기능 안될때
iOS8 에서 CLLocationManager 를 사용하려고 한다.
그것도 SKScene 에서 사용하고자 한다.
이상하게도 로그를 찍어 보는데 나오지 않는다.
설마 SKScene 에서는 안되는 건가?
그래서 일반 ViewController 에서 확인해보니
역시나 안된다.
Scene 과 ViewController 문제는 아니었던거 같다.
결과는 iOS8 부터 위치정보 기능은 사용자 확인을 받는다.
그런 부분의 설정을 info.plist 에 넣어 줘야 한다.
처음엔 보통 Key 는 있는 부분을 선택해서 Type 과 Value 를 삽입하여 사용하므로
Key 에 관련 내용이 있나 찾아 봤는데 없다....헐
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
두개의 Key 가 없으므로 그냥 키보드로 쳐서 넣으면 된다.
정리하면
1. 프레임워크를 추가한다.(CoreLocation.framework)
2. info.plist 사용자 확인 키를 추가한다.(NSLocationWhenInUseUsageDescription,
NSLocationAlwaysUsageDescription)
3. 헤더 파일에 프레임워크를 임포트하고 CLLocationManagerDelegate 추가하고 프로퍼티로 locationManager를 추가한다.
4. m 파일의 didMoveToView 부분에 locationManager 생성하고 설정한다.
5. didUpdateLocation 메소드에서 로그를 찍어서 확인한다.
그것도 SKScene 에서 사용하고자 한다.
이상하게도 로그를 찍어 보는데 나오지 않는다.
설마 SKScene 에서는 안되는 건가?
그래서 일반 ViewController 에서 확인해보니
역시나 안된다.
Scene 과 ViewController 문제는 아니었던거 같다.
결과는 iOS8 부터 위치정보 기능은 사용자 확인을 받는다.
그런 부분의 설정을 info.plist 에 넣어 줘야 한다.
처음엔 보통 Key 는 있는 부분을 선택해서 Type 과 Value 를 삽입하여 사용하므로
Key 에 관련 내용이 있나 찾아 봤는데 없다....헐
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
두개의 Key 가 없으므로 그냥 키보드로 쳐서 넣으면 된다.
정리하면
1. 프레임워크를 추가한다.(CoreLocation.framework)
2. info.plist 사용자 확인 키를 추가한다.(NSLocationWhenInUseUsageDescription,
NSLocationAlwaysUsageDescription)
3. 헤더 파일에 프레임워크를 임포트하고 CLLocationManagerDelegate 추가하고 프로퍼티로 locationManager를 추가한다.
4. m 파일의 didMoveToView 부분에 locationManager 생성하고 설정한다.
5. didUpdateLocation 메소드에서 로그를 찍어서 확인한다.
댓글
댓글 쓰기