先日、日本のApp Storeで価格の変更がありました。
これは、為替変動を反映させる処置で、これまでも何度が改定されてきました。
アプリ内課金のアイテム料金をハードコードしてしまっているアプリをたまに見かけますが、今回のような価格改定時に困ってしまうので、決してハードコードしてはいけません。
備忘録の意味も込めて、価格の取得方法をメモしておきます。
価格は SKProduct#price で取得できますが、表示する際はローカライズが必要なので注意しましょう。
1
2
3
4
5
6
7
8
9
10
11
| - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
for (SKProduct *product in response.products) {
NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:product.priceLocale];
NSString *localizedPrice = [numberFormatter stringFromNumber:product.price];
NSLog(@"price : %@", localizedPrice);
}
}
|
詳しくは公式ドキュメントをご覧ください。
SKProduct Class Reference