所以我正在尝试在我的精灵工具包游戏中实现应用程序购买,我在Swift工作。我知道我需要将SKProductsRequestDelegate
和SKPaymentTransactionObserver
协议添加到我的GameScene
类中才能执行此操作,但是当我添加它们时,我收到错误:
Type 'GameScene' does not conform to protocol 'SKProductsRequestDelegate'
以及SKPaymentTransactionObserver
的类似错误。
我导入了StoreKit
,这是我的代码:
import SpriteKit
import AVFoundation
import StoreKit
class GameScene: SKScene, SKPhysicsContactDelegate, SKProductsRequestDelegate, SKPaymentTransactionObserver {
我做错了什么?
答案 0 :(得分:6)
您可能拥有旧版本的函数paymentQueue,如下所示:
func paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [AnyObject]) {... }
现在这个函数声明如下:
func paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {... }
productRequest应该声明如下:
func productsRequest (request: SKProductsRequest, didReceiveResponse response: SKProductsResponse) {... }
这是因为您必须实现此方法以符合协议
答案 1 :(得分:0)
我不熟悉Swift(但是)似乎Swift所谓的协议是我们其他人所说的接口。
如果我是对的,那么你需要自己实施协议u"签署的所有方法。 on(即承诺您的类将实现的编译器)。
因此,如果一个协议有一个方法INotfiyPropertyChanged
你需要在你的类中自己编写这个方法,以便你的类符合协议。< / p>