-
-
Save imkevinxu/2bb1197552b095ab25c8 to your computer and use it in GitHub Desktop.
| // | |
| // Device.swift | |
| // imHome | |
| // | |
| // Created by Kevin Xu on 2/9/15. | |
| // Copyright (c) 2015 Alpha Labs, Inc. All rights reserved. | |
| // | |
| import Foundation | |
| // MARK: - Device Class | |
| class Device { | |
| // MARK: Device Version Checks | |
| class func IS_OS_5() -> Bool { | |
| return UIDevice.currentDevice().systemVersion.floatValue >= 5.0 | |
| && UIDevice.currentDevice().systemVersion.floatValue < 6.0 | |
| } | |
| class func IS_OS_5_OR_LATER() -> Bool { | |
| return UIDevice.currentDevice().systemVersion.floatValue >= 5.0 | |
| } | |
| class func IS_OS_6() -> Bool { | |
| return UIDevice.currentDevice().systemVersion.floatValue >= 6.0 | |
| && UIDevice.currentDevice().systemVersion.floatValue < 7.0 | |
| } | |
| class func IS_OS_6_OR_LATER() -> Bool { | |
| return UIDevice.currentDevice().systemVersion.floatValue >= 6.0 | |
| } | |
| class func IS_OS_7() -> Bool { | |
| return UIDevice.currentDevice().systemVersion.floatValue >= 7.0 | |
| && UIDevice.currentDevice().systemVersion.floatValue < 8.0 | |
| } | |
| class func IS_OS_7_OR_LATER() -> Bool { | |
| return UIDevice.currentDevice().systemVersion.floatValue >= 7.0 | |
| } | |
| class func IS_OS_8() -> Bool { | |
| return UIDevice.currentDevice().systemVersion.floatValue >= 7.0 | |
| && UIDevice.currentDevice().systemVersion.floatValue < 8.0 | |
| } | |
| class func IS_OS_8_OR_LATER() -> Bool { | |
| return UIDevice.currentDevice().systemVersion.floatValue >= 8.0 | |
| } | |
| // MARK: Device Size Checks | |
| class func IS_3_5_INCHES() -> Bool { | |
| return UIScreen.mainScreen().bounds.size.height == 480 | |
| } | |
| class func IS_3_5_INCHES_OR_LARGER() -> Bool { | |
| return UIScreen.mainScreen().bounds.size.height >= 480 | |
| } | |
| class func IS_4_INCHES() -> Bool { | |
| return UIScreen.mainScreen().bounds.size.height == 568 | |
| } | |
| class func IS_4_INCHES_OR_LARGER() -> Bool { | |
| return UIScreen.mainScreen().bounds.size.height >= 568 | |
| } | |
| class func IS_4_7_INCHES() -> Bool { | |
| return UIScreen.mainScreen().bounds.size.height == 667 | |
| } | |
| class func IS_4_7_INCHES_OR_LARGER() -> Bool { | |
| return UIScreen.mainScreen().bounds.size.height >= 667 | |
| } | |
| class func IS_5_5_INCHES() -> Bool { | |
| return UIScreen.mainScreen().bounds.size.height == 736 | |
| } | |
| class func IS_5_5_INCHES_OR_LARGER() -> Bool { | |
| return UIScreen.mainScreen().bounds.size.height >= 736 | |
| } | |
| class func IS_RETINA() -> Bool { | |
| return UIScreen.mainScreen().respondsToSelector("scale") | |
| } | |
| } |
Very nice! Thank you!
what's meaning of "GBDeviceInfo"
I get two errors during compile.
static let version = UIDevice.currentDevice().systemVersion.floatValue
error: "Value of type 'String' has no member 'floatValue'"
return GBDeviceInfo.deviceInfo().modelString
error: "Use of unresolved identifier 'GBDeviceInfo'"
@KimBin and @oddmagne:
replace
static let version = UIDevice.currentDevice().systemVersion.floatValue
with
static let version = (UIDevice.currentDevice().systemVersion as NSString).floatValue
Also add https://github.com/lmirosevic/GBDeviceInfo to your project.
@imkevinxu: very cool utility! Thanks a lot :)
Very handy. Love this. Thanks.
Works great, except from what I can see deviceHeight only works if the device is in portrait; otherwise in landscape, you'll get the height of the display (which is the width of the device).
static var TheCurrentDeviceHeight: CGFloat {
struct Singleton {
static let height = max(UIScreen.mainScreen().bounds.size.height, UIScreen.mainScreen().bounds.size.width)
}
return Singleton.height
}
... should do it
Very useful utility .. Thank you
Great. very useful...
i love it!
Ported it to Swift4: https://gist.github.com/RodrigoLGuimaraes/90086a28107809f58a0133e3e11419d3
Nice class, and very useful.. Thanks man