0

NSNumberFormatterCurrencyStyle で NSNumberFormatter を使用して、ユニバーサル iOS アプリでアプリの購入価格を表示しています。私の場所はインドで、フォーマッターはテストしたほとんどのデバイス (iPad シミュレーター、iPad 3 デバイス、iPhone 3gs デバイス、iPhone 4 デバイス) でインドルピー記号を正しく表示します。ただし、ipad の第 1 世代 (iOS 5.1.1 を実行) でのみ、ルピー記号の代わりに正方形が表示されます。

すべてのデバイスは、サポートする最新の iOS を実行しています (iPad 3、iPhone 4、iPhone 3gs では iOS 6.0.1、iPad 1 では iOS 5.1.1)。

通貨をフォーマットするために使用する関数は次のとおりです。

@implementation SKProduct (LocalizedPrice)

- (NSString *)localizedPrice
{
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [numberFormatter setLocale:self.priceLocale];
    NSString *formattedString = [numberFormatter stringFromNumber:self.price];
    [numberFormatter release];
    return formattedString;
}

@end

Update1: これは iOS 5.1 でのみ発生し、iOS 6.0 では発生しないようです - iOS 6 と iOS 5.1 の iPad シミュレーターで実行してみました - iOS 6 シミュレーターでは動作しますが、iOS 5.1 では動作しません。iOS 5.1 で通貨記号を表示する方法はありますか?

Update2: 今のところ、OS のバージョンを確認し、6.0 以上でのみシンボルを表示します。これは、他のいくつかのアプリが行っているように見えることです。

ありがとうアナンド

4

2 に答える 2

1

これが特定のバージョンのiOSまたはデバイスで機能しない場合は、レーダーを提出する必要があります。

Apple Bug Reporter

于 2013-01-13T15:45:11.597 に答える
0

これを見ていますか?

ここに画像の説明を入力

これは「汎用通貨記号」であり、フォーマッタが使用する特定の既知の記号を持っていない場合に使用されます。

NSNumberFormatteriOS 5.1 にルピー記号がないのは奇妙に思えます。ルピー記号はかなり標準的な記号だからです。しかし、それが事実である場合 (申し訳ありませんが、確認できる iOS 5.1 デバイスがありません)、フォーマットされた文字列で検索と置換を実行して、一般的な通貨記号をルピーに置き換えることができます。シンボル。

于 2013-01-14T17:20:06.287 に答える