私は現在、iOS 7 (最小開発ターゲット) をまだサポートしているアプリに取り組んでWatch Connectivity いますが、iOS 9 を使用しているユーザーのみを統合する必要があるため、名前付きのシングルトンを作成し、次のWatchConnectivityManagerようなプライベート メンバーを持っています。これ。
private let session: WCSession? = WCSession.isSupported() ? WCSession.defaultSession() : nil
iOS 9 ではすべて正常に動作しますが、iOS 8 および 7 では、WatchConnectivityManagerシングルトン クラスの定義が次のように始まるにもかかわらず、上記の行で正確にクラッシュします。
@available(iOS 9.0, *)
class WatchConnectivityManager: NSObject, WCSessionDelegate {
....
}
この状況を克服するための助けをいただければ幸いです。
注意:WCSession関連するコードを使用しているすべての場所でバージョン チェックを簡単に実行できます。しかし、そのチェックをシングルトン実装内にのみ統合する方法はありますか?WatchConnectivityManager