可以尝试使用其他方法获取本地设置,比如通过NSUserDefaults中的"AppleLanguages"键获取当前语言偏好。示例代码如下:
NSString *language = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"].firstObject; NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:language];
需要注意的是,如果你的App支持多语言,这种方法并不可靠,因为用户可能在设置里手动修改了语言偏好。此时建议使用更全面的本地设置获取方法,例如:
NSLocale *preferredLocale = [NSLocale autoupdatingCurrentLocale]; NSString *language = [preferredLocale objectForKey:NSLocaleLanguageCode]; NSString *country = [preferredLocale objectForKey:NSLocaleCountryCode]; NSString *currency = [preferredLocale objectForKey:NSLocaleCurrencyCode];
这种方法将返回用户当前设置的完整本地化设置,包括语言、国家和货币等相关信息。