Swift InAppPurchase:从AppDelegate下载托管内容
我正试图在苹果的服务器上通过托管内容实现应用内购买。 我正在使用SwiftyStoreKit框架 通常,根据其他教程,我们需要实现下载调用:Swift InAppPurchase:从AppDelegate下载托管内容,swift,swift3,in-app-purchase,iap-hosted-content,Swift,Swift3,In App Purchase,Iap Hosted Content,我正试图在苹果的服务器上通过托管内容实现应用内购买。 我正在使用SwiftyStoreKit框架 通常,根据其他教程,我们需要实现下载调用: func-paymentQueue(queue:SKPaymentQueue,updatedTransactions事务:[SKPaymentTransaction]){ 因此,我在这个func中实现了以下代码: let downloads = transaction.downloads SKPaymentQueue.defaultQueue().star
func-paymentQueue(queue:SKPaymentQueue,updatedTransactions事务:[SKPaymentTransaction]){
因此,我在这个func中实现了以下代码:
let downloads = transaction.downloads
SKPaymentQueue.defaultQueue().startDownloads(downloads)
它正在工作,现在我尝试在AppDelegate中检查前一笔交易的状态是否是“已购买”而不是“已完成”。这意味着用户已经购买了该产品,但下载时出现了问题
这是我的密码
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
completeIAPTransactions()
return true
}
func completeIAPTransactions() {
SwiftyStoreKit.completeTransactions(atomically: false) { products in
for product in products {
if product.transaction.transactionState == .purchased || product.transaction.transactionState == .restored {
if product.needsFinishTransaction {
// Deliver content from server, then:
let downloads = transaction.downloads
SKPaymentQueue.defaultQueue().startDownloads(downloads)
SwiftyStoreKit.finishTransaction(product.transaction)
}
print("purchased: \(product.productId)")
}
}
}
}
检查正在进行,但下载时出现问题:
PaymentTransaction类型的值没有成员下载
问题是:当我不在paymentQueue(uqueue:SKPaymentQueue,updatedTransactions transactions:[SKPaymentTransaction])
任何帮助都将不胜感激。如果有人发现这个问题,您需要从回购协议下载主分支,而不是依赖CoCoapod
pod'SwiftyStoreKit',:git=>“https://github.com/bizz84/SwiftyStoreKit.git“
出现错误的原因是,由于某些原因,在运行pod安装时,并非所有文件都被复制。这可能是因为您的计算机上某处存在缓存版本。如果有人遇到此问题,您需要从repo下载主分支,而不是依赖cocoapods
pod'SwiftyStoreKit',:git=>“https://github.com/bizz84/SwiftyStoreKit.git“
出现错误的原因是,由于某些原因,在运行pod安装时,并非所有文件都被复制。可能是因为您的计算机上某处存在缓存版本。您找到了吗?找到了吗?