IPHONE(应用程序内购买):我需要做什么才能以当地货币获得价格

时间:2009-11-29 01:13:42

标签: iphone iphone-sdk-3.0

我正在创建一个包含3种不同语言的应用程序:英语,西班牙语和法语。我已经用这3种语言创建了应用程序内购买,并在itunes沙箱中为这3家商店创建了用户:法国,美国和西班牙。

在用户点击“购买”按钮之前,甚至在用户使用他的iTunes用户名和密码登录之前,我必须检索每个产品的价格。此检索在应用程序开始时使用以下行完成:

SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:IDobjects];
request.delegate = self;
[request start];

理论上,此代码应检索本地货币中所有对象的价格等。按当地货币,我的意思是基于用户调整iPhone的语言,但实际上这段代码总是以美元取回价格?

我错过了什么?

另一点是:如果用户未登录iTunes,他/她将始终以英文显示消息,并以美元显示价格。登录后,他将看到他的语言中的应用内对象的名称和他的货币的价格,但窗口的其余部分将是英文。见下图:

alt text

感谢您的帮助。

Caixa是西班牙语的对象名称,0,79€是当地货币的正确价格,但窗口的其余部分是英文!?此窗口应完全使用用户的语言!!!!!

4 个答案:

答案 0 :(得分:1)

如何使用本地化字符串?所以不是@“你想买......”,你会有类似的东西:kPurchasePromptMessage,它会根据iphone上使用的语言返回不同的字符串。

答案 1 :(得分:1)

以下是Apple Docs的代码:

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:product.priceLocale];
NSString *formattedString = [numberFormatter stringFromNumber:product.price];

答案 2 :(得分:0)

几天前问题消失了。它似乎是苹果里面的东西。

答案 3 :(得分:0)

为此:

  1. 您已在每个商品广告管理系统的管理应用内购买管理中添加语言
  2. 为该国家/地区创建测试用户。
  3. 在应用中测试您的应用内购买
  4. 输入该国家/地区的新测试用户