2014-09-30 10 views
8

Come possiamo controllare il modello di iPhone (ad esempio iPhone 4/iPhone5) in Swift. Usando il seguente codice posso verificare se si tratta di iPhone di iPod.Come controllare il modello di iPhone usando swift

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

Ho bisogno di sapere in particolare quale modello di iPhone è.

+2

Gentilmente controllare questo: http: // StackOverflow .com/domande/26028918/ios-how-to-stabilire-iphone-model-in-s wift –

+1

Dai un'occhiata a questo [collegamento] (http://stackoverflow.com/questions/26028918/ios-how-to-determine-iphone-model-in-swift) – nikhil84

risposta

26

Utilizzare il codice seguente. (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 
} 

e usarlo come:

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

Ho creato una classe Swift proprio per questo scopo: https://github.com/mikeKane/findThatModel – mKane

+0

Grazie mille. ha funzionato come un fascino –

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 
} 

e per l'uso

if DeviceType.IS_IPHONE_6P{ 
    print("IS_IPHONE_6P") 
} 
Problemi correlati