dai*_*dai 6 iphone objective-c nslocale
我希望能够根据用户位置更改应用程序.我使用下面的代码:
NSLocale *locale = [NSLocale autoupdatingCurrentLocale];
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode];
NSString *countryName = [locale displayNameForKey: NSLocaleCountryCode value: countryCode];
NSLog(@"countryName %@", countryName);
Run Code Online (Sandbox Code Playgroud)
这很好用,但我想知道它是如何countryName显示的,所以我可以设置开关盒,如果你不知道每个国家的拼写是多么困难:美国,美国,美利坚合众国等等是否有Apple的countryCode列表,我找不到.
还有办法确保结果是英文的吗?
Apple使用ISO标准ISO-3166.
在大多数情况下,“ ISO标准ISO-3166”是准确的,但请尝试在iOS设置中选择“欧洲”作为区域。您将获得“ 150”的返回值。为什么是“ 150”?似乎从此处是区域代码:http : //en.wikipedia.org/wiki/UN_M.49。或从这里:http : //site.icu-project.org/design/t/territory-region-apis