:
int main(int argc, char *argv[])
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
// Reset system defaults to get the complete language list.
[defaults removeObjectForKey:@"AppleLanguages"];
// Default language choosen by user.
NSString *defLanguage = [defaults objectForKey:@"Language"];
NSArray *sysLangugages = [defaults arrayForKey:@"AppleLanguages"];
// System default language: first element of array.
NSString *sysLanguage = [sysLangugages objectAtIndex:0];
NSArray *array = [NSArray arrayWithObjects:defLanguage, sysLanguage, nil];
[defaults setObject:array forKey:@"AppleLanguages"];
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
ただ、デフォルトの言語を変更した後、アプリを再起動するには、ローカライズされたすべてのリソースが変更されます。文字列をし、ストーリーボード。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
が、それは動作しません:
はまたこの方法では、AppDelegate.mにこのコードを試してみました。 main.mでのみうまく動作します。どうしてか分かりません。
このコードでは、iOSでサポートされていない言語のアプリケーションを使用できます。たぶん
よろしく、
JoanBa
それはdidFinishLaunchingに到達した時点での情報をロードしているため。 うれしい私は助けることができました! –