2012-11-24 35 views
7

thể trùng lặp:
Dealing with iPad Mini screen size
Is it possible to detect that your iOS app is running on an iPad mini at runtime?Làm thế nào để kiểm tra xem thiết bị là iPad Mini

iPad mini có độ phân giải tương tự như iPad 1(2) (1024x768).

Nhưng iPad mini7,9 inch và iPad 1(2) - 9,7 inch.

Vì vậy, câu hỏi đặt ra là cách kiểm tra xem thiết bị có phải là mini iPad hay không.

+0

kiểm tra [Mô hình UIDevice] không hoạt động OP được xác định –

Trả lời

14

This answer chứa liên kết đến một phương thức tiện ích để nhận chuỗi "nền tảng" được sử dụng để xác định các thiết bị iOS khác nhau. Tôi sao chép phương pháp chính ở đây để thuận tiện cho bạn:

#include <sys/types.h> 
#include <sys/sysctl.h> 

- (NSString *) platform { 
    size_t size; 
    sysctlbyname("hw.machine", NULL, &size, NULL, 0); 
    char *machine = malloc(size); 
    sysctlbyname("hw.machine", machine, &size, NULL, 0); 
    NSString *platform = [NSString stringWithUTF8String:machine]; 
    free(machine); 
    return platform; 
} 

Acco rding để Models - The iPhone Wiki, giá trị trả về của platform là một trong những

  • iPad2,5
  • iPad2,6
  • iPad2,7

cho một iPad mini.

+2

và chúng chỉ được thêm vào cho màn hình iPad Mini Retina: iPad4,4 và iPad 4,5. – Scott

1

Chế độ xem của Apple có thể là bạn không cần biết điều này. : (Ứng dụng của bạn hoạt động theo mọi khía cạnh chính xác giống nhau trên màn hình iPad 1 hoặc 2 và màn hình iPad mini. Theo như các pixel có liên quan, chúng có cùng kích thước.

Và mọi khía cạnh khác của thiết bị, chẳng hạn như khả năng phần cứng của nó (ví dụ như nó có một máy ảnh?) có thể được kiểm tra theo cách thông thường, thông qua API thích hợp để sử dụng phần cứng đó.

+2

Nếu màn hình có cùng độ phân giải nhưng nhỏ hơn về mặt vật lý, thì pixel có thể có cùng kích thước như thế nào? – rmaddy

+0

Tôi không nói các pixel có cùng kích thước. Tôi nói các thiết bị có cùng kích thước như được đo bằng pixel. - Vấn đề là nó không quan trọng kích thước của chúng là gì, theo như Apple có liên quan, bởi vì không có phần nào của API iOS đề cập đến kích thước pixel! Trên thực tế, không có phần nào của API đề cập đến pixel. Bạn lập trình theo điểm, chúng được dịch sang pixel trên thiết bị. – matt

+0

Câu cuối cùng của đoạn đầu tiên là điều làm tôi bối rối. Không có gì. Nói chung tôi đồng ý. Thời gian duy nhất DPI quan trọng là nếu một ứng dụng cần vẽ thứ gì đó cho một kích thước vật lý cụ thể (giống như một người cai trị). – rmaddy

Các vấn đề liên quan