2017-09-25 88 views
0

我正在研究一个应用程序在手表应用程序。应用程序版本是手表2.0,我使用xcode 7.3.1。而且我的代码中使用的swift版本是2。获取watchkit 2.0上用户的当前区域

现在的问题是我想根据用户手表中选择的当前语言显示警报。但我无法获得目前的手表语言。它总是返回en_us。我检查了很多帖子,但没有一个解决方案为我工作。

所以现在我决定根据用户的地区显示警报。我有检查iphone其正常工作的代码,但我不知道,如果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得到,所以应该没问题,但是我不能测试Swift 2,所以属性名称可能会稍有不同。

+0

你好,谢谢你的回答,但我已经试过了。它总是在模拟器上返回相同的语言(例如en_US)。另一个问题是手表模拟器没有任何改变设备语言的选项。所以没有办法测试手表应用程序。 –

+0

您应该在真实设备上而不是模拟器上进行测试。此外,据我所知,手表使用与手机相同的语言设置,因此更改手机上的语言也会改变手表的语言。 –

+0

因此,这意味着如果我将手机语言设置为中文,手表语言将替换为所选语言?这是真实的设备上还是模拟器上的可能? –