watchOS 3 在 class 中使用 WCSession 在设备和手表之间共享

watchOS 3 Using WCSession in class shared between device and watch

我的应用依赖于手表和设备之间的持续通信。我想使用单例来管理所有消息传递和会话状态。我想使用继承在手表和设备上分别进一步自定义此行为。我希望父 class 成为 WCSessionDelegate,但 WCSession 库存在于 iOS 和 watchOS 中,每个都有单独的委托函数。有没有办法在 super class 中包含两组函数?现在编译器将文件视为一个或另一个,即使它是应用程序和手表目标的一部分。

Functions are marked as unavailable

理论上,您可以像这样使用编译器指令 (Swift3.1):

#if os(iOS)
    <methods avaliable on iOS's Watch Connectivity framework>
#elseif os(watchOS)
    <methods avaliable on watchOS's Watch Connectivity framework>
#endif