Tôi đang cố gắng xây dựng một phiên bản ứng dụng của mình dành riêng cho iPhone 6 và 6 Plus, trong khi tôi không có bất kỳ phần cứng nào, tôi phải thử nghiệm trên trình mô phỏng! nhưng có vẻ như, giả lập có lỗi lạ! đầu tiên và đối với hầu hết tôi nhận được độ phân giải màn hình và quy mô, bởi mã này:Có vấn đề với phát hiện iPhone 6/Plus trên giả lập
UIScreen *mainScreen = [UIScreen mainScreen];
NSLog(@"Screen bounds: %@, Screen resolution: %@, scale: %f, nativeScale: %f",
NSStringFromCGRect(mainScreen.bounds), mainScreen.coordinateSpace, mainScreen.scale, mainScreen.nativeScale);
vì vậy đây là cách phát hiện iPhone 6 và 6Plus (chế độ Portrait):
#define iPhone6 ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 667)
#define iPhone6Plus ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 736)
vấn đề là! khi tôi ăn trưa ứng dụng của tôi trên iPhone6 / Plus mô phỏng, trình biên dịch cung cấp cho tôi những thông tin sceen của iPhone 4" display:!
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
Nhưng nó hoạt động tốt trên dự án mới (Tôi không thể tạo ra một dự án mới và bắt đầu lại một lần nữa!) Tôi cleaned code
, delete build folder
, change project's name
và đặt lại Simulator contents setting
nhưng vẫn cung cấp cho tôi thông tin về màn hình 4 "! .
Tôi đã kiểm tra điều này Q/A nhưng câu trả lời yêu cầu thiết bị thực!
bạn đã tạo dự án này ở xcode 5 và mở trong 6 ... phải không? –
@FahimParkar Vâng, tôi đã làm! –
Bạn đã thử thêm màn hình khởi chạy chưa? Ngay cả MainStoryboard cũng tốt. – Phillip