私のコードは、WCSessionDelegate
としてマークされたクラスを持つXcodeの8WCSessionDelegate:sessionDidBecomeInactiveとsessionDidDeactivateが使用不能とマークされていますが、私はちょうどスウィフト3にスウィフト2アプリを変換
の変換機能を使用して、必要とされています。
スウィフト2では、方法なしでコンパイルしましたsessionDidBecomeInactive
とsessionDidDeactivate
です。
Swift 3のバージョンをコンパイルすると、私のクラスがプロトコルWCSessionDelegate
に準拠していないとコンパイラーが納得しています。これは明らかに正しいものです。
その後、両方の機能のためのスタブを挿入するために提供しています:
public func sessionDidBecomeInactive(_ session: WCSession) { }
public func sessionDidDeactivate(_ session: WCSession) { }
は、これらのスタブが挿入された後、これらのエラーが報告されています
Cannot override 'sessionDidBecomeInactive' which has been marked unavailable
Cannot override 'sessionDidDeactivate' which has been marked unavailable
がどのように私はこの問題を解決することができますか?
'deactivate'と' inactive'コールバックを追加したクラスです。それがコンパイルされ、iOSアプリとWatchKit拡張の両方に使用されていますか? – ccjensen
@ccjensen:はい、このクラスは共有されています。 –
@ccjensen:クラスにwatch拡張子だけがターゲットとして存在する場合にも、問題が存在します。 –