티스토리 뷰
위치정보를 가져와서 사용할 경우에, 상태를 확인하여야 할 경우가 있다.
* 위치정보 사용하도록 설정에서 껐는지 확인법
if([CLLocationManager locationServicesEnabled]) {
NSLog(@"위치서비스가 사용 가능함");
}
* 앱에서 사용할 경우에 권한을 받았는지 확인하도록 하는 부분.
CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
switch (status){
case kCLAuthorizationStatusNotDetermined:
// 권한 확인 전
NSLog(@"권한 획득 여부를 확인하지 않았음.");
break;
case kCLAuthorizationStatusRestricted:
// 위치 정보를 사용한다고 말을 하지 않은 앱. 개발자가 프로젝트에 이 앱은 위치 정보를 사용한다고 설정을 해두지 않은 경우이다
NSLog(@"This app is Restricted");
case kCLAuthorizationStatusDenied:
// 권한 획득 안되었을 경우. 설정에서 off를 하였을 경우에도 포함됨.
NSLog(@"NO or truned off location in Settings");
break;
case kCLAuthorizationStatusAuthorizedAlways:
// 7이하 버전 권한 획득시, 8이상 버전 백그라운드에서도 사용 가능
NSLog(@"YES. User autohrized background use.");
break;
case kCLAuthorizationStatusAuthorizedWhenInUse:
// 8이상 버전 앱을 사용중일 경우에만 사용 가능
NSLog(@"YES. User has autohrized use only when the app is in the foreground.");
break;
default:
// 이외의 상황인데, 현재는 나올수가 없는 값일듯... 9.2.1 나온 기준.
NSLog(@"What?");
break;
}
enum 값을 확인하여 보면... 다음과 같다.
typedef enum {
kCLAuthorizationStatusNotDetermined = 0,
kCLAuthorizationStatusRestricted,
kCLAuthorizationStatusDenied,
kCLAuthorizationStatusAuthorized,
kCLAuthorizationStatusAuthorizedAlways = kCLAuthorizationStatusAuthorized,
kCLAuthorizationStatusAuthorizedWhenInUse
} CLAuthorizationStatus;
kCLAuthorizationStatusAuthorizedAlways, kCLAuthorizationStatusAuthorized 두개의 값은 같게 들어가 있음을 알수 있다.
* 위치정보를 사용하기로 하고선 설정에서 꺼버렸을 경우에, 설정으로 이동하는 방법
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
쉽다.
'Mobile > iOS' 카테고리의 다른 글
[iOS]UIWebView (0) | 2016.03.08 |
---|---|
[iOS][NSUserDefaults standardUserDefaults] 사용하기 (0) | 2016.03.07 |
[iOS]8이상에서 위치정보 사용하기 (0) | 2016.03.03 |
[iOS]8.0에서 사라진 UIActionSheet (0) | 2016.03.02 |
[iOS]presentModalViewController 대체 (0) | 2016.03.02 |
- Total
- Today
- Yesterday
- Kotlin
- windows10
- git
- Windows
- intellij
- ios
- php
- ubuntu
- Codable
- go
- tomcat
- Java
- Linux
- cocoapods
- SWIFT
- rxswift
- nodejs
- CentOS
- centos8
- war
- enum
- github
- MySQL
- golang
- Spring
- Python
- docker
- Gradle
- android
- Xcode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |