2012-06-07 3 views
0

Я думаю, что нашел ошибку в чешских контактах iOS. Я создал чешский контакт (с Чешская Республика страна), которую я выбрал в своей заявке с помощью ABPeoplePickerNavigationController.IOS: неверный чешский код страны

Логарифм адрес, который ABPeoplePickerNavigationController вернул меня есть:

"Country" : "Czech Republic" 
"Street" : "A street" 
"CountryCode" : "cs" 
"City" : "A city" 
"ZIP" : "12345" 

Так код страны CS. Но когда я пытаюсь извлечь соответствующее имя,

NSString *countryCode = [address objectForKey:(NSString *)kABPersonAddressCountryCodeKey]; 
if (countryCode != nil) { 
    NSString *countryName = [[NSLocale currentLocale] displayNameForKey:NSLocaleCountryCode value:countryCode]; 
    name = [[applicationDelegate dataManager] objectForEntityForName:@"Name" withValue:countryName forKey:@"name"]; 
} 

name дает мне: «Сербия и Черногория»!

Согласно http://countrycode.org/, чешский код страны CK, и в соответствии с http://xml.coverpages.org/country3166.html, CS не для Чехословакии, но «больше не существует»

Как бы я сказать, что это в Apple?

+0

Вы попробовали CZ? – self

+0

Я не ввел CS ни CZ, я только что создал свой контакт, выбрал «Чешскую Республику» в качестве страны, сохранен и получил к нему доступ от ABPeoplePickerNavController. Но я не пытался использовать ручной набор CZ. Я уверен, что это сработает ... – Martin

ответ

1

Вы смешиваете коды стран (ISO 3166-X) и коды языков (ISO 639-X). Код языка чешского языка в соответствии с ISO 639-1 - «CS».

http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes

Примечание: А давно это также используется, чтобы быть код страны бывшего «Чехословакии» в ISO 3166-1, но это было изменено и переназначить (например, в Сербии и Черногории, которая сейчас «Ю») несколько раз из-за политических изменений.

Смежные вопросы