我正嘗試通過標籤將本地化價格添加到我的遊戲的我的店鋪部分。我正在努力讓它工作。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()'? –