我正在创建一个使用 3 种不同语言的应用程序:英语、西类牙语和法语。我已经用这 3 种语言创建了应用内购买,并在 itunes 沙盒上为这 3 个商店创建了用户:法国、美国和西类牙。
在用户单击“购买”按钮之前,甚至在用户使用其 itunes 用户名和密码登录之前,我必须检索每个产品的价格。此检索是在应用程序开始时使用以下行完成的:
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:IDobjects];
request.delegate = self;
[request start];
理论上,此代码应该检索以本地货币表示的所有对象的价格等。我所说的本地货币是指根据用户调整 iPhone 的语言,但实际上此代码总是检索以美元为单位的价格?
我错过了什么?
还有一点是:如果用户没有登录 iTunes,他/她将始终看到英文消息和美元价格。登录后,他将看到用他的语言显示的应用内对象的名称和用他的货币显示的价格,但窗口的其余部分将显示为英语。看下一张图片:
感谢您的帮助。
Caixa 是该对象的西类牙语名称,0.79 欧元是本地货币的正确价格,但窗口的其余部分是英语!?该窗口应该完全以用户的语言显示!!!!!!
最佳答案
这是 Apple 文档中的代码:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:product.priceLocale];
NSString *formattedString = [numberFormatter stringFromNumber:product.price];
关于IPHONE(应用内购买): What do I have to do to get the prices in local currency,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1814331/