0

我在我的iPad應用程序中使用了InAppSettingsKit,包括用於英語,德語和日語的本地化字符串。一切正常,但我希望能夠在應用程序中切換語言,並且InAppSettingsKit似乎不支持這種語言。這裏是我的showSettings方法:InAppSettingsKit具有多個本地化

// show the inapp settings view 
-(void) showSettings 
{ 
    IASKAppSettingsViewController *settingsViewController = [[IASKAppSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped]; 
    settingsViewController.delegate = self; 
    settingsViewController.showDoneButton = YES; 

    UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:settingsViewController]; 

    [self presentModalViewController:navController animated:NO]; 
} 

所以VC被重新每一次,但似乎從最初的應用開始重新使用的語言選擇的設置。

用戶的語言選擇同時寫入我在[NSUserDefaults standardUserDefaults]以及「AppleLanguages」陣列中的私人「語言」設置。

哪裏/如何緩存舊語言信息?

回答

1

這是iOS的標準行爲,通常你不應該打算改變它。您可以在NSUserDefaults中使用AppleLanguages鍵(或其他鍵)更改它,但AFAIK當前語言在應用程序啓動後始終是靜態的。

+1

謝謝,經過一番深入研究,我認爲這是由於NSBundles在初始加載後被緩存,並且似乎沒有辦法使這個緩存無效。 – Gereon