2017-09-25 85 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

因此,這意味着如果我將手機語言設置爲中文,手錶語言將替換爲所選語言?這是真實的設備上還是模擬器上的可能? –