如何在Swift中检测客户端系统是32位还是64位?
我无法在文档中找到任何内容,但我很难找到解决方案。因此,请在下面发布答案。
答案 0 :(得分:9)
Int
的大小保证与平台的原始字大小相同。见the docs。
所以这应该有效:
let bit = sizeof(Int) * Int(BYTE_SIZE)
let is64bit = sizeof(Int) == sizeof(Int64)
let is32bit = sizeof(Int) == sizeof(Int32)
答案 1 :(得分:3)
在64位环境中,CGFloat
与Double
的大小相同。在32位环境中,它与Float
的大小相同。因此,在64位系统上有CGFLOAT_IS_DOUBLE
常量1
。
let bit = 32 + (32 * CGFLOAT_IS_DOUBLE)
答案 2 :(得分:2)
迅捷4
let is64bit = Int.bitWidth == Int64.bitWidth