我正在尝试为iPhone 6和6 Plus专门构建我的应用程序版本,而我没有任何硬件,我必须在模拟器上进行测试!但似乎,模拟器有一个奇怪的错误!第一,对于大多数我得到的屏幕分辨率和比例,通过这个代码:在模拟器上检测iPhone 6/Plus时出现问题
UIScreen *mainScreen = [UIScreen mainScreen];
NSLog(@"Screen bounds: %@, Screen resolution: %@, scale: %f, nativeScale: %f",
NSStringFromCGRect(mainScreen.bounds), mainScreen.coordinateSpace, mainScreen.scale, mainScreen.nativeScale);
所以这里是如何检测iPhone 6和6Plus(肖像模式):
#define iPhone6 ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 667)
#define iPhone6Plus ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 736)
问题!当我的午餐我的应用程序上iPhone6 /加模拟器,编译器给我的iPhone 4" 显示的sceen信息:
2014-09-28 12:32:08.153 WOD[2924:42290]
Screen bounds: {{0, 0}, {320, 568}}, Screen resolution: <UIScreen: 0x7fa15be0f9b0; bounds = {{0, 0}, {320, 568}}; mode = <UIScreenMode: 0x7fa15bd0d4a0;
size = 640.000000 x 1136.000000>>, scale: 2.000000, nativeScale: 2.000000
但它正常工作的新项目(我不能创建一个新的项目,并重新开始! ) 我cleaned code
,delete build folder
,change project's name
,并重置Simulator contents setting
但仍然给我4“显示的信息! 。
我检查了这个Q/A但答案需要一个真实的设备!
你在xcode 5中创建了这个项目,并在6中打开...对吗? – 2014-09-28 09:22:25
@FahimParkar是的,我做到了! – 2014-09-28 09:23:48
您是否尝试添加启动屏幕?即使是MainStoryboard也没问题。 – Phillip 2014-09-28 09:36:41