質問: swift1.2で実装していたアプリを、今回アップデートする事になり、swift2.2で書きなおしています。 その中で、storekitのSKPaymentTransactionObserverを使っているクラスで 「Type 'クラス名' does not conform to protocol 'SKPaymentTransactionObserver'」 のエラーが発生してしまっております。 SKPaymentTransactionObserverのプロトコル ``` paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) ``` は、実装済みで、optionalのプロトロルは ``` paymentQueue(queue: SKPaymentQueue!, restoreCompletedTransactionsFailedWithError error: NSError!) paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue!) ``` が、実装済みでした。 swift1.2の時は、問題なく動いていたのですが、swift2.2でコンパイルが出来なくなってしまい、困っております。 他のoptionalなプロトコルも書いてみたりしたのですが、エラーが解消されませんでした。 何か、エラーの原因がおわかりになる方、いらっしゃいましたらご教授頂けますと幸いでございます。 よろしくお願い致します。
回答: Le Pere d'OOさま。 コメントありがとうございます。 ご指摘頂きましたとおり ``` func paymentQueue(queue: SKPaymentQueue!, removedTransactions transactions: [AnyObject]!) ``` のように、Swift1.2の時の書き方のまま、「実装済み」のつもりになっておりました・・・。 こちら、 ``` paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) ``` とすることで、事象が解消致しました。 ご指摘ありがとうございました。