2014-09-30 22 views
8

Jak możemy sprawdzić model iPhone'a (np. IPhone 4/iPhone5) w Swift. Korzystając z poniższego kodu mogę sprawdzić, czy to iPhone iPoda.Jak sprawdzić model iPhone'a za pomocą Swift

let iphoneModel = UIDevice.currentDevice().model 
if (iphoneModel == "iPhone"){ 
     println("Iphone 4") 
    } 

Muszę wiedzieć, który model iPhone'a jest.

+2

Prosimy sprawdzić w ten sposób: http: // stackoverflow .pl/questions/26028918/ios-how-to-determine-iphone-model-in-s wift –

+1

Spójrz na to [link] (http://stackoverflow.com/questions/26028918/ios-how-to-determine-iphone-model-in-swift) – nikhil84

Odpowiedz

26

Użyj następującego kodu. (Reference from)

enum UIUserInterfaceIdiom : Int 
{ 
    case Unspecified 
    case Phone 
    case Pad 
} 

struct ScreenSize 
{ 
    static let SCREEN_WIDTH   = UIScreen.mainScreen().bounds.size.width 
    static let SCREEN_HEIGHT  = UIScreen.mainScreen().bounds.size.height 
    static let SCREEN_MAX_LENGTH = max(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT) 
    static let SCREEN_MIN_LENGTH = min(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT) 
} 

struct DeviceType 
{ 
    static let IS_IPHONE_4_OR_LESS = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH < 568.0 
    static let IS_IPHONE_5   = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH == 568.0 
    static let IS_IPHONE_6   = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH == 667.0 
    static let IS_IPHONE_6P   = UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.SCREEN_MAX_LENGTH == 736.0 
    static let IS_IPAD    = UIDevice.currentDevice().userInterfaceIdiom == .Pad && ScreenSize.SCREEN_MAX_LENGTH == 1024.0 
} 

i używać go jako:

if DeviceType.IS_IPHONE_6P { 
      println("IS_IPHONE_6P") 
} 
+0

Stworzyłem klasę Swift właśnie w tym celu: https://github.com/mikeKane/findThatModel – mKane

+0

Bardzo dziękuję człowiekowi. pracował jak urok –

5

SWIFT 3

enum UIUserInterfaceIdiom : Int 
{ 
    case Unspecified 
    case Phone 
    case Pad 
} 

struct ScreenSize 
{ 
    static let SCREEN_WIDTH   = UIScreen.main.bounds.size.width 
    static let SCREEN_HEIGHT  = UIScreen.main.bounds.size.height 
    static let SCREEN_MAX_LENGTH = max(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT) 
    static let SCREEN_MIN_LENGTH = min(ScreenSize.SCREEN_WIDTH, ScreenSize.SCREEN_HEIGHT) 
} 

struct DeviceType 
{ 
    static let IS_IPHONE_4_OR_LESS = UIDevice.current.userInterfaceIdiom == .phone && ScreenSize.SCREEN_MAX_LENGTH < 568.0 
    static let IS_IPHONE_5   = UIDevice.current.userInterfaceIdiom == .phone && ScreenSize.SCREEN_MAX_LENGTH == 568.0 
    static let IS_IPHONE_6   = UIDevice.current.userInterfaceIdiom == .phone && ScreenSize.SCREEN_MAX_LENGTH == 667.0 
    static let IS_IPHONE_6P   = UIDevice.current.userInterfaceIdiom == .phone && ScreenSize.SCREEN_MAX_LENGTH == 736.0 
    static let IS_IPAD    = UIDevice.current.userInterfaceIdiom == .pad && ScreenSize.SCREEN_MAX_LENGTH == 1024.0 
} 

i do użytku

if DeviceType.IS_IPHONE_6P{ 
    print("IS_IPHONE_6P") 
} 
Powiązane problemy