首页 > 解决方案 > InApp 购买产品价格

问题描述

我正在尝试在 InApp 购买中读取产品的价格。我想要美元价格,但我收到的是当地货币 INR。我想以美元显示每个国家的价格。

let product = SKProduct()// my product object
 let price = product.price // receives always in INR

任何帮助表示赞赏

标签: iosswiftin-app-purchase

解决方案


文档中所述,您可以使用 NumberFormmatter 格式化价格,您还可以在其中指定您的货币。

请注意,您应该始终使用用户区域设置来格式化 SKProduct 提供的价格。您不应将价格格式化为另一种货币,因为 SKProduct 始终返回绑定到当前语言环境的本地化价格。(例如法国 App Store 的法国欧元价格)

不过,这里有一个示例,说明如何仅通过更改货币符号来格式化价格:

let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .currency
numberFormatter.currencyCode = "USD"
let priceInUSD = numberFormatter.string(from: product.price)

推荐阅读