NSLog([[UIDevice currentDevice] name]); // 擷取裝置的名稱
NSLog([[UIDevice currentDevice] uniqueIdentifier]); //擷取GUID 唯一識別碼
NSLog([[UIDevice currentDevice] systemName]); //擷取系統名稱
NSLog([[UIDevice currentDevice] systemVersion]); // 版本號碼
eg.
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 5.0) {
//ios的處理
}
最近在做項目中發現。ios5下和其之前的版本(ios4.0.2)座標位置不一樣。 正好相差20px。所以使用拉上面的特殊處理。
2。隨著 iOS 版本越來越多,程式碼的相容性問題也慢慢浮上檯面。比如說可能因爲某些 API 只適用於 iOS4,而到了 iOS5 則必需使用另外的 API 來處理。這個時候你的 code 裏面可能就同時包含了這兩種版本的程式碼。不過這個程式碼放到舊版的 XCode 可能就沒有辦法通過編譯了。這個時候你可以使用以下的方式來避開這點:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 50000
// ios 5
// ex. 如果要檢查的版本是 4.1 那麽可以用 40100
#endif
如果要檢查是某個類別是否可以使用的話,那麽就可以使用這樣的方式:
Class ios5Class = (NSClassFromString(@"CIImage"));
if (nil != ios5Class) {
}
* 4.2 以上(含)的版本可以使用弱連結(Weak linking)的檢查,例如:
if( [CIImage class] ){
}
而如果要檢查某個類別內是否具有某些 selector 的話,那麽可以使用 NSObject protocol 裏面的 respondsToSelector: 來做檢查,例如:
if( [obj respondsToSelector@selector(goodbye:] ) {
}
轉自:http://blog.csdn.net/nogodoss/article/details/7187022