27460


swift1.2で実装していたアプリを、今回アップデートする事になり、swift2.2で書きなおしています。  
その中で、storekitのSKPaymentTransactionObserverを使っているクラスで  
「Type 'クラス名' does not conform to protocol 'SKPaymentTransactionObserver'」  
のエラーが発生してしまっております。

SKPaymentTransactionObserverのプロトコル

[code]

    paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
    
[/code]

は、実装済みで、optionalのプロトロルは

[code]

    paymentQueue(queue: SKPaymentQueue!, restoreCompletedTransactionsFailedWithError error: NSError!)
    paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue!)
    
[/code]

が、実装済みでした。  
swift1.2の時は、問題なく動いていたのですが、swift2.2でコンパイルが出来なくなってしまい、困っております。

他のoptionalなプロトコルも書いてみたりしたのですが、エラーが解消されませんでした。

何か、エラーの原因がおわかりになる方、いらっしゃいましたらご教授頂けますと幸いでございます。

よろしくお願い致します。


CC BY-SA 3.0
2016-07-08T09:18:26.177
27456
2016-07-08T13:19:56.333
8755
question
swift2
swift2で「Type 'クラス名' does not conform to protocol 'SKPaymentTransactionObserver'」のエラーが発生


Le Pere d'OOさま。  
コメントありがとうございます。  
ご指摘頂きましたとおり

[code]

    func paymentQueue(queue: SKPaymentQueue!, removedTransactions transactions: [AnyObject]!)
    
[/code]

のように、Swift1.2の時の書き方のまま、「実装済み」のつもりになっておりました・・・。

こちら、

[code]

    paymentQueue(qu‌​eue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
    
[/code]

とすることで、事象が解消致しました。  
ご指摘ありがとうございました。


CC BY-SA 3.0
2016-07-08T13:19:56.333
27460
2016-07-08T13:19:56.333
8755
27456
answer