2017-09-25 19 views
0

watch 앱에서 작업하고 있습니다. 앱 버전은 시계 2.0이고 xcode 7.3.1을 사용하고 있습니다. 그리고 신속한 버전은 2입니다 내 코드에서 사용했습니다.watchkit 2.0에서 현재 사용자 영역 가져 오기

이제 사용자 시계에서 선택한 현재 언어에 따라 경고를 표시하려고합니다. 그러나 나는 현재의 시계 언어를 얻을 수 없다. 항상 en_us를 반환합니다. 많은 게시물을 확인했지만 아무도 해결할 솔루션이 없습니다.

이제 사용자 지역에 따라 알림을 표시하기로했습니다. 나는 그것이 제대로 작동 아이폰의 코드를 확인해야하지만 난 watchkit 내가 현재의 지역을 확인하는 데 사용했다 user.The 코드의 현재 영역을 감지 할 수있는 경우는 것을 잘 모릅니다 : 사람이있는 경우

let countryCode = NSLocale.currentLocale().objectForKey(NSLocaleCountryCode) as! String 
     print("countryCode\(countryCode)") 

그것에 대한 어떤 생각이라도 제발 제안 해주세요. 미리 감사드립니다.

+1

Xcode 9, Swift 4 및 WatchOS 4를 사용하지 않는 이유는 무엇입니까? – LinusGeffarth

+0

재생 해 주셔서 감사합니다. 사실 나는 프로젝트에서 일하고 있는데 프로젝트의 클라이언트는 모바일 앱 작동 코드를 업데이트하고 싶지 않습니다. 동일한 버전에서 새 기능을 추가해야합니다. –

답변

0

사용자가 현재 사용하는 언어를 사용하려면 let userLanguage = Locale.preferredLanguages.first을 사용해야합니다. 이 API는 watchOS2에서 사용할 수 있으므로 괜찮습니다. 그러나 스위프트 2를 테스트 할 수 없으므로 속성 이름이 약간 다를 수 있습니다.

+0

안녕하세요, 답변 해 주셔서 감사합니다.하지만 이미 사용해 보았습니다. 시뮬레이터에서 항상 같은 언어를 반환합니다 (예 : en_US). 또 다른 문제는 시계 시뮬레이터에 장치 언어를 변경할 수있는 옵션이 없다는 것입니다. 따라서 시계 앱을 테스트 할 방법이 없습니다. –

+0

시뮬레이터가 아닌 실제 장치에서 테스트해야합니다. 또한 내가 아는 한 시계는 휴대 전화와 동일한 언어 설정을 사용하므로 휴대 전화의 언어를 변경하면 시계의 언어도 변경됩니다. –

+0

그래서 모바일 언어를 중국어로 설정하면 시계 언어가 선택한 언어로 바뀝니 까? 실제 장치 또는 시뮬레이터에서도 가능합니까 ?? –