iOS擷取當前系統的相關資訊和在不同的IOS上檢測

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.