2012-10-12 40 views
6

thể trùng lặp:
How can we programmatically detect which iOS version is device running on?Làm cách nào để kiểm tra xem thiết bị có đang chạy iOS 6 không?

Làm thế nào để kiểm tra xem một thiết bị đang chạy iOS 6? Tôi cần kiểm tra xem liệu hệ điều hành có phải là iOS 6 để thay đổi url video trên youtube của tôi do các ghi chú phát hành từ Apple về cách xử lý chúng trong iOS6 hay không.

Kể từ iOS 6, nhúng URL YouTube vào biểu mẫu http://www.youtube.com/watch?v=oHg5SJYRHA0 sẽ không hoạt động nữa. Các URL này để xem video trên trang web YouTube, không phải để nhúng trong các trang web. Thay vào đó, định dạng sẽ được sử dụng được mô tả trong https://developers.google.com/youtube/player_parameters.

Tôi đã nghĩ đến một câu lệnh if else để xử lý việc này.

nhờ sự giúp đỡ nào

+1

Hãy để tôi giới thiệu bạn đến [câu hỏi này và câu trả lời] (http://stackoverflow.com/questions/7848766/how-can-we-programmatically-detect-which-ios-version-is-device-running-on) ... – James

+0

Kiểm tra điều này: http: // stackoverflow .com/questions/3339722/check-iphone-ios-version – Resh32

+0

lấy macro được xác định tại đây. http://stackoverflow.com/a/8042056/593336 – mayuur

Trả lời

35

Như Trước khi so sánh các thông số float bạn nên đặt 6.0 trong một biến float để LHS và RHS nên giống nhau để so sánh:

float currentVersion = 6.0; 

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= currentVersion) 
{ 
    NSLog(@"Running in IOS-6"); 
} 
+1

[[UIDevice currentDevice] systemVersion] có lẽ là cách hiệu quả nhất để kiểm tra số phiên bản iOS. Không rõ lý do tại sao, nhưng chức năng này có chu kỳ CPU quý giá để trả lại số phiên bản. Sử dụng NSFoundationVersionNumber để thay thế. https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/linh tinh/Foundation_Constants/Tham khảo/reference.html – Abhinit

0

Hãy thử dưới đây

float deviceVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; 
NSLog(@"My Device version is :%f ",deviceVersion); 

Tôi hy vọng nó sẽ giúp bạn.

+0

Bạn có thể muốn làm một cái gì đó như 'if (deviceVersion> = 6.0)' bởi vì ngay sau khi 6.1 cuộn ra, mã đó sẽ thất bại và giả sử nó trên 5.x một lần nữa. – Shayne

+0

Kiểm tra một số phiên bản rõ ràng hầu như luôn luôn sai. Thay vào đó hãy kiểm tra các khả năng. – Roger

+0

hey @Shayne bạn nói đúng nhưng ở đây tôi chỉ cho thấy rằng tôi cũng không có lợi cho ở trên đó là lý do tại sao ik đang sửa đổi câu trả lời của tôi. – Kamarshad

1
NSString *versionString = [[UIDevice currentDevice] systemVersion]; // iOS version as string 
int versionStringInt = [ver intValue]; // iOS version as int 
float versionStringFloat = [ver floatValue]; // iOS version as float 
Các vấn đề liên quan