特定价格层的本地App Store货币作为变量?

时间:2013-01-24 21:01:44

标签: ios cocoa-touch localization app-store currency

我正在尝试为appstore中我们自己的其他应用创建自定义“广告”。一切都很完美,但在广告中我们正在撰写NSLog(@"For only $0.99"); 如何根据本地“登录”appstore将其变为变量?我认为应该看起来像这样:

NSString *price = [something localPriceForTier:1];
NSLog(@"For only %@", price);

而且它说的是用户所依据的任何货币和价值,我发送的价格等级是1.我想我以前见过这个应用程序,但我不知道要搜索什么关于这一点。

2 个答案:

答案 0 :(得分:2)

据我所知,Store Kit没有任何要求通用价格等级的功能。您必须询问其中一种产品的当前价格。这是一些代码:

- (void) requestProductData
{
    SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:
            [NSSet setWithObject: yourProductIdentifier]];
    request.delegate = self;
    [request start];
}

回调函数:

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
    NSArray *myProducts = response.products;
    SKProduct *product = [myProducts objectAtIndex:0];
    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
    [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
    [numberFormatter setLocale:product.priceLocale];
    NSString *formattedString = [numberFormatter stringFromNumber:product.price];

    NSLog(@"For only %@", formattedString);
}

以上摘要在官方应用程序内购买编程指南中有详细解释:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008267

答案 1 :(得分:1)

该信息不会保存在设备上,如果您需要,则必须提取该信息。所以你要做的是创建一个带有相应产品标识符的SKProductsRequest(你可以从iTunes Connect获得),等到你的代表获得一个合适的SKProductsResponse,你可以从中获得适当的SKProduct {{3}} 3}}您可以使用pricepriceLocale从那里使用数字格式化工具获取具有相应货币符号的本地价格字符串。 SKProduct文档中有一些示例代码。