加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何从Swift确定设备类型? (OS X或iOS)

发布时间:2020-12-14 05:56:05 所属栏目:百科 来源:网络整理
导读:我知道Swift是比较新的,但是我想知道是否有办法确定设备类型? (像你以前能够使用#define)? 主要是想知道如何区分OS X或iOS。我没有发现这个问题。 如果您正在为iOS和OS X(也可能现在用于watchOS和tvOS)构建,那么您至少建立两次代码:每个平台一次。如果
我知道Swift是比较新的,但是我想知道是否有办法确定设备类型?

(像你以前能够使用#define)?

主要是想知道如何区分OS X或iOS。我没有发现这个问题。

如果您正在为iOS和OS X(也可能现在用于watchOS和tvOS)构建,那么您至少建立两次代码:每个平台一次。如果您希望在每个平台上执行不同的代码,则需要构建时间条件,而不是运行时检查。

Swift没有预处理器,但它具有条件构建伪指令 – 并且在大多数情况下,它们看起来像C等效。

#if os(iOS) || os(watchOS) || os(tvOS)
    let color = UIColor.redColor()
#elseif os(OSX)
    let color = NSColor.redColor()
#else
    println("OMG,it's that mythical new Apple product!!!")
#endif

您还可以使用构建配置来测试架构(x86_64,arm,arm64,i386)或-D编译器标志(包括由标准Xcode模板定义的DEBUG标志)。

请参阅使用Swift与Cocoa和Objective-C中的Preprocessor Directives。

(如果要在运行时区分哪种iOS设备,请使用UIDevice类,就像您在ObjC中一样。查看对您而不是设备重要的设备属性通常更有用和安全名称或成语 – 例如使用特征和大小类来布局您的UI,查询OpenGL以获取所需的GPU功能等)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读