如何仅针对 iOS 9 个用户安全地将“Watch Connectivity”与仍以 iOS7 作为最低开发目标的应用程序集成?

How to integrate `Watch Connectivity` safely only for iOS 9 users with the App which is still having iOS7 as minimum development target?

我目前正在开发一个 仍然支持 iOS 7(最低开发目标) 的应用程序,但我需要集成 Watch Connectivity 仅适用于使用 iOS 9 的用户。 因此我创建了一个名为 WatchConnectivityManager单例 并且它有一个像这样的私人会员。

private let session: WCSession? = WCSession.isSupported() ? WCSession.defaultSession() : nil

在 iOS 9 上一切正常,但在 iOS 8 和 7 上,即使我的 WatchConnectivityManager 单例 class 定义开始,我也会在上面的行上崩溃如下

@available(iOS 9.0, *)
class WatchConnectivityManager: NSObject, WCSessionDelegate {
    ....
}

任何帮助克服这种情况的帮助将不胜感激。

注意: 我可以在使用 WCSession 相关代码的所有地方轻松执行版本检查。但是有什么方法可以仅在 WatchConnectivityManager 单例实现中集成该检查

最后我找到了简单添加的答案

NSClassFromString("WCSession") != nil

在像这样使用 WCSessionclass 之前进行检查。

private let session: WCSession? = NSClassFromString("WCSession") != nil && WCSession.isSupported() ? WCSession.defaultSession() : nil

还有更好的答案吗?