【问题标题】:Check function availability watchOS 3 Xcode 8 vs watchOS 2 in objective c在目标 c 中检查功能可用性 watchOS 3 Xcode 8 与 watchOS 2
【发布时间】:2016-07-26 14:47:31
【问题描述】:

我在现有的 watchOS 2 中添加了一些 watchOS 3 功能,因为我必须同时支持 WatchOS 2 和 WatchOS 3 设备,所以我需要在调用之前检查功能可用性。例如在 ExtensionDelegate 我有这个功能,只有 WatchOS 3 设备应该调用它,我如何检查目标 c 中的 WatchOS 版本。

-(void)applicationDidEnterBackground {

    [self scheduleRefreshBackgroundTask];

}  

我已阅读How to check iOS version?,但我仍然对如何在目标 c 中检查它感到困惑。

【问题讨论】:

  • 那个链接也有客观版本。你还需要什么?
  • 我需要知道 WatchOS 3 和目标 c 的等价物 --> if #available(iOS 10, *) {}
  • 谢谢 Teja,这个也在 Swift 中,但我在 Objectve c 中需要它。使用 Swift 似乎很容易检查 API 可用性
  • obj-c 中没有#Available 的直接替换。 swift中#available的等价物是在obj-c中使用instancesRespondToSelector

标签: objective-c version-control watchos-2 ios10 watchos-3


【解决方案1】:

我终于发现,当我需要将 watchOS 3 功能添加到现有 watchOS 2 项目并使其兼容时,我可以通过添加 WK_AVAILABLE_WATCHOS_ONLY(3.0) 来控制 watchOS 版本:

- (void)applicationDidEnterBackground
{
   [self scheduleRefreshBackgroundTask];
} 

- (void)scheduleRefreshBackgroundTask WK_AVAILABLE_WATCHOS_ONLY(3.0)
{
    // do something
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多