2017-07-03 5 views
1

私はこれらの言語の変更を、私が書くつもりのコードでトリガーとして使用するつもりです。例えばアプリの実行中にユーザーがiPhoneシステムの言語設定を変更したことを検出するにはどうすればよいですか?

if languageHasChanged() { 
    //do something 
} 
+0

ロケールの変更に関する通知( 'currentLocaleDidChangeNotification')が表示されます。詳細は、こちらのドキュメントを参照してください:https://developer.apple.com/documentation/foundation/nslocale/1418141-currentlocaledidchangenotificati – Alladinian

答えて

3

NSLocale.currentLocaleDidChangeNotificationに登録すると通知されます。

NotificationCenter.default.addObserver(self, selector: #selector(localeChanged), name: NSLocale.currentLocaleDidChangeNotification, object: nil) 

func localeChanged() { 

} 
1

NSLocale.currentLocaleDidChangeNotificationが利用できない場合、あなたは変数にapplicationWillTerminateapplicationWillEnterBackgroundの実際のロケールを格納し、applicationDidBecomeActiveでロケールと比較することができます。

+0

これも動作します、試しました –

関連する問題