我有一些奇怪的行为与IAP(沙盒)。一开始我以为我犯了一个错误,但后来我加载了另一个项目(见图片)与IAP和它显示了相同的行为.在我的应用程序中,我提供了购买升级的可能性. I用户按下“购买”按钮,弹出一个警报视图,询问用户是否想要购买升级€ 1,99.如果用户想要的,购买过程开始,弹出另一个警报视图,这是购买的确认。但此确认显示另一个价格(€ 2,34)。有人知道为什么吗?先谢谢你了!
agxfikkp1#
第二个弹出窗口中的信息是正确的。而您在第一次显示的弹出窗口中有一些无效信息。价格1.99实际上是美元价格。并且'€'符号必须由您在字符串中连接。这是因为两个原因:1.当设备没有Apple ID登录时(用于应用内购买)。因此SKProduct的price属性将以美元计价。1.当设备使用属于其他国家/地区的用户的Apple ID登录时。SKProduct的price属性将具有该国家/地区的价格。你可以设置适用于每个国家的字符串格式。下面是一个代码片段,它将为你创建这样的字符串。
SKProduct
price
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属性,而无需自己编写€。
localizedPrice
nfg76nw02#
苹果返回固定价格的测试仪。价格应该是正确的生产。
2条答案
按热度按时间agxfikkp1#
第二个弹出窗口中的信息是正确的。而您在第一次显示的弹出窗口中有一些无效信息。价格1.99实际上是美元价格。并且'€'符号必须由您在字符串中连接。
这是因为两个原因:
1.当设备没有Apple ID登录时(用于应用内购买)。因此
SKProduct
的price
属性将以美元计价。1.当设备使用属于其他国家/地区的用户的Apple ID登录时。
SKProduct
的price
属性将具有该国家/地区的价格。你可以设置适用于每个国家的字符串格式。下面是一个代码片段,它将为你创建这样的字符串。
你现在可以在
SKProduct
对象上使用localizedPrice
属性,而无需自己编写€。nfg76nw02#
苹果返回固定价格的测试仪。价格应该是正确的生产。