Swift:无法将SKProductsRequestDelegate协议添加到GameScene类?

sky*_*guy 1 in-app-purchase sprite-kit swift

所以我试图在我的精灵套件游戏中实现应用程序购买,我在Swift工作.我知道我需要在我的类中添加SKProductsRequestDelegateSKPaymentTransactionObserver协议GameScene才能执行此操作,但是当我添加它们时,我得到错误:

Type 'GameScene' does not conform to protocol 'SKProductsRequestDelegate'
Run Code Online (Sandbox Code Playgroud)

和类似的错误SKPaymentTransactionObserver.

我导入了StoreKit,这是我的代码:

import SpriteKit
import AVFoundation
import StoreKit

class GameScene: SKScene, SKPhysicsContactDelegate, SKProductsRequestDelegate, SKPaymentTransactionObserver {
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

DrC*_*tes 6

你可能有像这样的函数paymentQueue的旧版本:

func paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [AnyObject])    {... }
Run Code Online (Sandbox Code Playgroud)

现在这个函数声明如下:

func paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])    {... }
Run Code Online (Sandbox Code Playgroud)

productRequest应该声明如下:

func productsRequest (request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {... }
Run Code Online (Sandbox Code Playgroud)

这是因为您必须实现此方法以符合协议