2015-03-06 1 views
0

Au début de l'initialisation, je vérifie quel périphérique j'utilise en testant la hauteur (ou la largeur en fonction de la façon dont l'utilisateur tient son périphérique). Une fois l'appareil choisi, l'application détermine la résolution des actifs à charger.Problèmes iPhone 6 Plus avec l'utilisation d'un GLView (périphérique non simulateur)

Ce code que j'utilise pour vérifier quel dispositif est le suivant ...

if([ [ UIScreen mainScreen ] bounds ].size.height > [ [ UIScreen mainScreen ] bounds ].size.width) 
{ 

isIphone4 = ([ [ UIScreen mainScreen ] bounds ].size.height == 480); 

isIphone5 = ([ [ UIScreen mainScreen ] bounds ].size.height == 568); 
isIphone6 = ([ [ UIScreen mainScreen ] bounds ].size.height == 667); 
isIphone6Plus = ([ [ UIScreen mainScreen ] bounds ].size.height == 736); 
} 
else 
{ 
    isIphone4 = ([ [ UIScreen mainScreen ] bounds ].size.width == 480); 

    isIphone5 = ([ [ UIScreen mainScreen ] bounds ].size.width == 568); 
    isIphone6 = ([ [ UIScreen mainScreen ] bounds ].size.width == 667); 
    isIphone6Plus = ([ [ UIScreen mainScreen ] bounds ].size.width == 736); 

} 

Cela fonctionne parfaitement en trouver de détecter avec précision quel dispositif est utilisé, sauf sur l'iPhone physique 6 Plus.

Ce n'est cependant pas la partie la plus déroutante, ce qui est déroutant est que cela ne fonctionne pas seulement parfois. Je l'ai testé personnellement sur 2 iPhone 6 Plus séparés et les applications fonctionnent parfaitement. J'ai été en contact avec quelques-uns de mes utilisateurs qui ont des problèmes et leurs spécifications sont différentes, certains ont AT & T d'autres ont Verizon, l'un a 16Go d'autres ont 64Go.

Un corps a des idées?

Répondre

0

Ok, je l'ai compris. Il y a une fonction 'Zoom d'affichage' sur le 6Plus qui agrandit le champ d'affichage à un 375 x 667 avec un facteur d'échelle de x3 pixels.

Essentiellement, c'est la même taille qu'un iPhone 6 avec une mise à l'échelle x3.