- アプリ内購入を利用できる国のリストを作成します。
- そのリストをロケール識別子の NSArray に変換します。
- その配列を繰り返し処理し、NSLocale を作成します
- このロケールを使用して、NSNumberFormatter で価格文字列を作成します
- 使用したすべての文字を保存します。
- ???
- 利益
このような何かがそれを行う必要があります:
NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
nf.numberStyle = NSNumberFormatterCurrencyStyle;
NSMutableSet *set = [NSMutableSet set];
// all available locales, you probably don't need them all
NSArray *availableLocaleIdentifiers = [NSLocale availableLocaleIdentifiers];
// compile a list of the locales you'll need
availableLocaleIdentifiers = @[ @"de_DE", @"de_CH", @"en_GB", @"en_US", @"ja_JP"];
for (NSString *localeIdentifier in availableLocaleIdentifiers) {
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:localeIdentifier];
nf.locale = locale;
NSString *priceString = [nf stringFromNumber:@(123456789.99)];
for (NSInteger i = 0; i < [priceString length]; i++) {
unichar character = [priceString characterAtIndex:i];
[set addObject:[NSString stringWithFormat: @"%C", character]];
}
}
NSArray *sorted = [set sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"description" ascending:YES]]];
NSString *allCharacters = [sorted componentsJoinedByString:@""];
NSLog(@"\"%@\"", allCharacters);
出力:"$',.0123456789CFH £€¥"