【问题标题】:How to check if code is excuting on iphone device or watch device?如何检查代码是否在 iphone 设备或手表设备上执行?
【发布时间】:2016-03-08 12:33:46
【问题描述】:

由于 UIDevice 在 watchOS 上不可用,我想知道如何检测哪个设备用于在两个操作系统(iOS 和 WatchOS)上执行的库中观看特定代码执行。我们可以使用 watch_os 中的特定类并查看它是否可用,但只是想知道除了该技术之外是否还有其他东西。在这种情况下使用哪个类是安全的?

【问题讨论】:

  • 您可以将只想在手表上运行的代码包装在 #if TARGET_OS_WATCH #endif 块中。
  • 太棒了!这有帮助!

标签: ios objective-c watchos-2 watchos


【解决方案1】:

当您使用 Swift 并且您的库类之一称为 MyClass。

将其编译到您的 iOS 目标中:

extension MyClass {
    func isWatch() -> Bool {
        return false
    }
}

将其编译到您的监视目标中:

extension MyClass {
    func isWatch() -> Bool {
        return true
    }
}

现在您有了一个可在所有目标中使用并返回不同值的函数。

该函数在每个目标中返回一个常量,以便编译器进行优化。

【讨论】:

  • 我没有使用 swift。 :(
猜你喜欢
  • 1970-01-01
  • 2012-11-03
  • 2016-07-04
  • 1970-01-01
  • 1970-01-01
  • 2019-02-11
  • 2012-10-25
  • 2014-03-04
  • 1970-01-01
相关资源
最近更新 更多