即时制作游戏,我得到了问题: 每次我在其中进行购买时,它都会返回失败的事务。 我调用这个函数来开始交易:在应用程序内购买免费InAppPurchase does not work
func buyProduct() {
let payment:SKPayment = SKPayment(product: product)
SKPaymentQueue.defaultQueue().addPayment(payment)
}
我有几个用户在沙盒测试人员,并设置价格。 什么问题?
var product: SKProduct!
//used in viewDidLoad
SKPaymentQueue.defaultQueue().addTransactionObserver(self)
self.getProductInfo()
func productsRequest(request: SKProductsRequest!, didReceiveResponse response: SKProductsResponse!) {
let products = response.products
if (products.count != 0){
product = products[0] as! SKProduct
}
}
func getProductInfo() {
if (SKPaymentQueue.canMakePayments()){
let productID:NSSet = NSSet(object: "id.unique")
let request:SKProductsRequest = SKProductsRequest(productIdentifiers: productID as Set<NSObject>)
request.delegate = self
request.start()
}
}
func paymentQueue(queue: SKPaymentQueue!, updatedTransactions transactions: [AnyObject]!) {
for transaction:AnyObject in transactions {
if let trans:SKPaymentTransaction = transaction as? SKPaymentTransaction{
switch trans.transactionState{
case .Purchased:
self.removeAds()
println("success")
SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)
break
case .Failed:
println("failed")
showAlert("Error", message: "Ooops, there is transaction problem")
SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)
break
case .Restored:
println("restored")
SKPaymentQueue.defaultQueue().restoreCompletedTransactions()
break
default:
break
}
}
}
}
你能后的截图在iTunes Connect中配置您的产品?谢谢 –
检查您的包标识符和产品标识符。然后仔细检查发送给Apple服务器的产品标识符以供购买。 – NeverHopeless