我正尝试通过标签将本地化价格添加到我的游戏的我的店铺部分。我正在努力让它工作。Swift IAP本地化价格
这是购买位的代码的一部分,其相当标准。
我有一个枚举为我所有的产品标识符。
enum ProductID: String {
case product1
case product2
}
和标准付款代码。
func paymentQueue(queue: SKPaymentQueue!, updatedTransactions transactions: [AnyObject]!) {
println("add payment")
for transaction in transactions {
switch transaction.transactionState {
case .purchased:
print("buy, ok unlock iap here")
print(p.productIdentifier)
let productIdentifier = transaction.payment.productIdentifier
switch productIdentifier {
case ProductID.product1.rawValue:
print("Product 1 bought")
//do something
case ProductID.product2.rawValue:
print("Product 2 bought")
//do something
default:
print("IAP not setup")
}
}
我用下面的扩展获取本地化的价格,再漂亮的锅炉板
extension SKProduct {
var localizedPrice: String {
let formatter = NSNumberFormatter()
formatter.numberStyle = .CurrencyStyle
formatter.locale = self.priceLocale
return formatter.stringFromNumber(self.price) ?? "\(price)"
}
}
所以在我的价格标签是产品按钮下面我如何得到有关添加本地化的价格
每个产品priceProduct1Label.text = "\(?.localizedPrice)"
priceProduct2Label.text = "\(?.localizedPrice)"
我该如何输入问号?我阅读的视频和教程要么不告诉你,要么他们不使用产品的switch语句。 非常感谢您事先的任何答复
我用这2这些教程基本相同(https://www.airpair.com/ios/posts/swift-storekit-in-app-purchases),(http://www.seemuapps.com/tutorial-swift-in-app -purchases)。我所有的购买工作都很完美。我只是不明白如何获取单个项目的价格,以便在我的标签中显示价格1.所以我正在寻找正确的方式来编写“self.priceLabel1”.text =“\(Product1.localizedPrice( ))”。我基本上为产品1编写了什么,我尝试了产品ID的NSSet等,但没有运气。再次感谢,我感谢你的帮助 – crashoverride777
检查我的评论,我改变它。我已经要求产品等,并获取信息,所以我不确定你的意思。我正在制作一个SpriteKit游戏,其中有5个产品按钮,下面有5个价格标签。我只是不明白如何编写这5个标签的代码来获得它们每个的正确价格。 – crashoverride777
如果您已经有产品的参考,为什么不只是'self.priceLabel.text = product1.localizedPrice()'? –