如何检查代码是否在iphone设备或手表设备上执行



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

当您使用Swift时,其中一个库类称为MyClass。

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

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

将其编译到您的手表目标:

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

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

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

最新更新