NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];
위와 같은 코드로 시스템의 언어를 가져올 수 있다.
그런데 시스템 언어를 한국어로 설정하였을 시 iOS8의 경우
ko로 오고
iOS9의 경우
ko뒤에 지역코드가 붙어서 온다.
지역이 한국의 경우
ko-KR 이런식
따라서 기존 언어 판별로직이 정확하지 않아 수정
대충 때우려다 자꾸 이슈나서 보니 이런문제가 있네 ㅠㅠ
따라서 언어 체크할 때는 아래와 같이 hasPrefix를 사용
NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];
if([language hasPrefix:@"en"]|| // 영어
[language hasPrefix:@"de"]|| // 독일어
[language hasPrefix:@"es-419"]|| // 스페인어(라틴 아메리카)
[language hasPrefix:@"zh-Hans"]|| // 중국어 간체
[language hasPrefix:@"ko"]){ // 한국어
// 할 일
}
'프로그래밍 > iOS' 카테고리의 다른 글
[iOS] camera iOS10 crash (0) | 2016.09.21 |
---|---|
[iOS] 버튼 멀티터치 막기 (0) | 2016.08.23 |
[iOS] 전화 처리 (0) | 2016.08.12 |
[iOS] Annotation View (0) | 2016.07.29 |
[iOS] 다국어가 적용되지 않는 언어를 선택할 시 (0) | 2016.07.01 |