ios SK产品价格在应用内购买确认中有所不同

avkwfej4  于 2023-04-22  发布在  iOS
关注(0)|答案(2)|浏览(178)

我有一些奇怪的行为与IAP(沙盒)。一开始我以为我犯了一个错误,但后来我加载了另一个项目(见图片)与IAP和它显示了相同的行为.在我的应用程序中,我提供了购买升级的可能性. I用户按下“购买”按钮,弹出一个警报视图,询问用户是否想要购买升级€ 1,99.如果用户想要的,购买过程开始,弹出另一个警报视图,这是购买的确认。但此确认显示另一个价格(€ 2,34)。有人知道为什么吗?
先谢谢你了!

agxfikkp

agxfikkp1#

第二个弹出窗口中的信息是正确的。而您在第一次显示的弹出窗口中有一些无效信息。价格1.99实际上是美元价格。并且'€'符号必须由您在字符串中连接。
这是因为两个原因:
1.当设备没有Apple ID登录时(用于应用内购买)。因此SKProductprice属性将以美元计价。
1.当设备使用属于其他国家/地区的用户的Apple ID登录时。SKProductprice属性将具有该国家/地区的价格。
你可以设置适用于每个国家的字符串格式。下面是一个代码片段,它将为你创建这样的字符串。

public extension SKProduct {

    public var localizedPrice: String? {
        let numberFormatter = NumberFormatter()
        numberFormatter.locale = self.priceLocale
        numberFormatter.numberStyle = .currency
        return numberFormatter.string(from: self.price)
    }
}

你现在可以在SKProduct对象上使用localizedPrice属性,而无需自己编写€。

nfg76nw0

nfg76nw02#

苹果返回固定价格的测试仪。价格应该是正确的生产。

相关问题