9
मेरे पास कोड का यह टुकड़ा है जो NSLocale से कुछ जानकारी (वर्तमान देश, देश का नाम) प्राप्त करता है। आईओएस 5.आईओएस पर लोकेल प्राप्त करना 5
में
यह आईओएस 4.3 में किसी भी समस्या के बिना काम करता है, लेकिन दुर्घटनाओं यह जाँच करने पर लगता है कि [स्थान localeIdentifier] और [स्थान displayNameForKey: मूल्य:] बिल्कुल काम नहीं करता है, लेकिन कोई चेतावनी और त्रुटियां हुईं इसे बनाने के दौरान पता चला।
आईओएस 5 में काम करने के लिए मैं क्या कर सकता हूं?
// Create a pool for autoreleased objects
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Get the current country and locale information of the user
NSLocale *locale = [NSLocale currentLocale];
NSString *currentLocaleID = [locale localeIdentifier]; //returns en_US instead of the actual country stored in phone settings
NSDictionary *localeDictionary = [NSLocale componentsFromLocaleIdentifier:currentLocaleID];
NSString *currentCountry = [locale displayNameForKey:NSLocaleCountryCode
value:[localeDictionary objectForKey:NSLocaleCountryCode]]; // returns nil
// Get the list of country codes
NSArray *countryCodeArray = [NSLocale ISOCountryCodes];
NSMutableArray *sortedCountryNameArray = [NSMutableArray array];
for (NSString *countryCode in countryCodeArray) {
NSString *displayNameString = [locale displayNameForKey:NSLocaleCountryCode value:countryCode]; //displayNameString is nil after executing this line
[sortedCountryNameArray addObject:displayNameString]; //app crashes here
}
// Drain the autoreleased pool
[pool drain];
हम iOS5 सवाल यहाँ अभी तक एनडीए की वजह से उत्तर नहीं दे सकता। ऐप्पल डेवलपर फ़ोरम में पूछें और/या एक बग के रूप में ऐप्पल के साथ एक रैडर टिकट खोलें। –