事象
SKProductsRequestDelegate
の継承元である SKRequestDelegate
に定義されている以下のメソッドをSwiftで実装してエラーハンドリングしようとしたところ、warningが出てメソッドが呼ばれない事象に遭遇しました。
func request(_ request: SKRequest, didFailWithError error: Error) {
}
Instance method 'request(:didFailWithError:)' nearly matches optional requirement 'request(:didFailWithError:)' of protocol 'SKRequestDelegate'
解決方法
以下のように @objc
でメソッド名を指定し、errorの型を NSError
に変更することでメソッドが呼ばれるようになりました。
@objc(request:didFailWithError:)
func request(_ request: SKRequest, didFailWithError error: NSError) {
}
未解決
上記のように変更してもwarningは消えませんでした...
参考
環境
Xcode 11.3.1
Swift 5.1.3