我正在尝试在InApp购买中读取产品的价格。我想要美元价格,但收到当地货币INR。我想显示每个国家的美元价格。
let product = SKProduct()// my product object
let price = product.price // receives always in INR
感谢您的帮助
答案 0 :(得分:0)
应用购买价格取决于您从App Store帐户登录的区域设置。您可以检查语言环境
let locale = Locale.current
let currencySymbol = locale.currencySymbol!
let currencyCode = locale.currencyCode!
您可以使用此委托方法检查产品价格
//SKProductsRequestDelegate
public func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
print("Loaded list of products...")
let products = response.products
productsRequestCompletionHandler?(true, products)
clearRequestAndHandler()
for p in products {
print("Found product: \(p.productIdentifier) \(p.localizedTitle) \(p.price.floatValue)")
print("product price --%@",p.price)
}
}
答案 1 :(得分:0)
如documentation中所述,您可以使用NumberFormmatter格式化价格,还可以指定币种。
请注意,您应始终使用用户区域设置来格式化SKProduct提供的价格。您不应该将价格格式化为其他货币,因为SKProduct总是返回绑定到当前语言环境的本地化价格。 (例如,法语App Store的法语欧元价格)
不过,这里有一个示例,说明如何仅通过更改货币符号来设置价格格式:
div.input {
position: absolute;
bottom: 0px;
display: flex;
}
div.prefix {
display: flex;
}
div.completion {
position: relative;
}
.completions{
display: flex;
}
div.char {
bottom: 0px;
}