Ich versuche, meine App für iPhone X Größe und habe Probleme. Derzeit definiere ich die Bildschirmgrößen wie so:Wie können Sie iPhone X Simulator programmgesteuert bestimmen?
#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_RETINA ([[UIScreen mainScreen] scale] >= 2.0)
#define SCREEN_WIDTH ([[UIScreen mainScreen] bounds].size.width)
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))
#define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)
und constrain am Telefon Typ. (Ja, ich weiß, nicht optimal, aber seine was ive getan)
Wenn Sie das iPhone X-Simulator verwenden, aus irgendeinem Grund liest er seine Bildschirmhöhe und Breite wie ein iPhone 6.
Also dann Stack overflox ich gesucht und found this: How to get device make and model on iOS?
Nur Problem ist, wenn Sie auf dem iPhone X-Simulator ausführen x86-64 zurückgegeben und kein Gerätetyp!
Ich habe offensichtlich kein iPhone X, also wie erkenne ich, dass dies ein iPhone X Simulator ist und kein iPhone 6 (basierend auf der Bildschirmgröße), so kann ich richtig für dieses neue Handy einschränken!
Danke Leute!
Ihr Ansatz ist definitiv nicht der Beste, Sie sollten sich nicht darum kümmern, welches Modell es ist. Aber wenn Sie Bildschirmgröße verwenden möchten, um das Modell zu bestimmen, ist das iPhone X 375 x 812 Punkte. Beachten Sie, dass Apps wie gewöhnlich in einem Emulationsmodus ausgeführt werden, wenn iOS nicht der Meinung ist, dass sie für das iPhone X aktualisiert wurden. Dazu muss das Basis-SDK auf iOS 11 und entweder ein Start-Storyboard oder ein Start-Image mit dem Recht installiert werden Größe für ein iPhone X. – jcaron
Mögliche Duplikate von [Erkennen, ob das Gerät iPhone X ist] (https://stackoverflow.com/questions/46192280/detect-if-the-device-is-iphone-x) – user6788419