Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift InAppPurchase:从AppDelegate下载托管内容_Swift_Swift3_In App Purchase_Iap Hosted Content - Fatal编程技术网

Swift InAppPurchase:从AppDelegate下载托管内容

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

我正试图在苹果的服务器上通过托管内容实现应用内购买。 我正在使用SwiftyStoreKit框架

通常,根据其他教程,我们需要实现下载调用:
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安装时,并非所有文件都被复制。可能是因为您的计算机上某处存在缓存版本。

您找到了吗?找到了吗?