InApp购买产品价格

时间:2019-11-26 13:06:10

标签: ios swift in-app-purchase

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

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

感谢您的帮助

2 个答案:

答案 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;
}