我正在创建一个包含3种不同语言的应用程序:英语,西班牙语和法语。我已经用这3种语言创建了应用程序内购买,并在itunes沙箱中为这3家商店创建了用户:法国,美国和西班牙。
在用户点击“购买”按钮之前,甚至在用户使用他的iTunes用户名和密码登录之前,我必须检索每个产品的价格。此检索在应用程序开始时使用以下行完成:
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:IDobjects];
request.delegate = self;
[request start];
理论上,此代码应检索本地货币中所有对象的价格等。按当地货币,我的意思是基于用户调整iPhone的语言,但实际上这段代码总是以美元取回价格?
我错过了什么?
另一点是:如果用户未登录iTunes,他/她将始终以英文显示消息,并以美元显示价格。登录后,他将看到他的语言中的应用内对象的名称和他的货币的价格,但窗口的其余部分将是英文。见下图:
感谢您的帮助。
Caixa是西班牙语的对象名称,0,79€是当地货币的正确价格,但窗口的其余部分是英文!?此窗口应完全使用用户的语言!!!!!
答案 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)
为此: