Localization AppStore-In-App-Purchase:如何获取用户将使用的货币?

Localization AppStore-In-App-Purchase:如何获取用户将使用的货币?,localization,in-app-purchase,app-store,Localization,In App Purchase,App Store,我有一个iOS应用程序,使用应用内购买,以迎合国际观众,因此我希望以不同的货币(美元、欧元、人民币等)付款,您可以从AppStore定价矩阵中了解它们。当然,我想用用户的本地货币显示要购买的项目,但我真的不知道如何显示 使用用户的地区或语言似乎不是一个好指标,因为货币取决于用户使用的AppStore帐户的地区,而不是设备设置 如何确定用户将使用哪种货币付款?获取SKProduct对象后,您可以根据price和priceLocale属性构建其本地化价格。下面是如何进行复制粘贴的步骤: NSNumb

我有一个iOS应用程序,使用应用内购买,以迎合国际观众,因此我希望以不同的货币(美元、欧元、人民币等)付款,您可以从AppStore定价矩阵中了解它们。当然,我想用用户的本地货币显示要购买的项目,但我真的不知道如何显示

使用用户的地区或语言似乎不是一个好指标,因为货币取决于用户使用的AppStore帐户的地区,而不是设备设置


如何确定用户将使用哪种货币付款?

获取SKProduct对象后,您可以根据price和priceLocale属性构建其本地化价格。下面是如何进行复制粘贴的步骤:

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

是的,根据Apple指南,您应该在应用程序中存储购买项目ID,然后从Apple服务器获取SKProduct项目(例如,请参阅skproductsrequest类)。这种方法还将确保你只向用户展示那些经苹果公司批准并可用于购买的物品。我在我的应用程序中使用了这些代码,但为什么它总是显示USD。我试图更改iPhone上的语言设置,但没有成功。有什么问题?@iOS.dev我认为这取决于应用商店帐户所在的地区,因此您可能希望创建属于不同国家/地区的不同应用商店帐户。@s1u您解决了这个问题吗?我也总是得到美元,但我的系统区域设置将欧元设置为货币。@s1u不正确。我签约进入了奥地利商店,但我得到的是美元而不是欧元。