我的應用正在本地化,我們關注方言。 (即西班牙語和西班牙語在peurto rico之間的區別)我注意到,只是更改區域不會將通知發送到會觸發本地化的應用程序。只有更改語言纔會觸發此通知。強制更改語言通知iOS
在我的應用程序委託中,我想檢查該區域在我的applicationDidBecomeActive方法中是否發生了變化,如果它有,我想推動iOS會在語言發生變化時推送的通知。那可能嗎?
我的應用正在本地化,我們關注方言。 (即西班牙語和西班牙語在peurto rico之間的區別)我注意到,只是更改區域不會將通知發送到會觸發本地化的應用程序。只有更改語言纔會觸發此通知。強制更改語言通知iOS
在我的應用程序委託中,我想檢查該區域在我的applicationDidBecomeActive方法中是否發生了變化,如果它有,我想推動iOS會在語言發生變化時推送的通知。那可能嗎?
每當您的應用程序返回到前臺(而不是當它變爲活動狀態時),獲取當前語言環境。將最新的區域設置與以前的區域設置進行比較。如果新的和以前的區域設置與您的區別不夠,請發佈通知。
示例 - 從西班牙到墨西哥應將語言環境從es_ES
更改爲es_MX
。
編輯:
要發佈的通知,你可以這樣做:
[[NSNotificationCenter defaultCenter] postNotificationName:NSCurrentLocaleDidChangeNotification object:nil];
一個語義技術性:你指的是一個_change notification_通過'NSNotificationCenter',不是一個_push notification_(它可以是本地的或遠程的,但是與實習生不同如Objective-C通知系統),您希望「向通知中心發送通知」。 – bshirley
通知,你的意思是NSCurrentLocaleDidChangeNotification? – Marco
是的,我想POST POST NSCurrentLocaleDidChangeNotification – erik