區分不同版本的iphone
可以從 uidevice 的屬性 model 得到在現在執行的環境。例子如下:
1234567
8910
nsstring *modelname = [[uidevice currentdevice]model];if ([modelname isequaltostring:@"iphone"])
if ([modelname isequaltostring:@"ipod touch"])
if ([modelname isequaltostring:@"iphone simulator"])
或者
1234567
891011
1213
#import#if target_os_iphone
// iphone device
#endif
#if target_iphone_simulator
// iphone simulator
#endif
#if!target_iphone_simulator
// iphone device
#endif
可以通過 uname 函式取得當前機器的版本。例子如下:
1234567
891011
1213
1415
1617
1819
2021
22
structutsname
u;uname(&u);
nsstring *machine = [nsstring stringwithcstring:u.machine];
if ([machine isequaltostring:@"iphone1,1"])
if ([machine isequaltostring:@"iphone1,2"])
if ([machine isequaltostring:@"iphone2,1"])
if ([machine isequaltostring:@"ipod1,1"])
if ([machine isequaltostring:@"ipod2,1"])
if ([machine isequaltostring:@"ipod3,1"])
1234567
891011
1213
1415
1617
1819
- (nsstring *) platform
可以使用 uidevice 的屬性 systemversion 來得到。例子如下:
1234567
8910
nsstring *osversion = [uidevice currentdevice].systemversion;if ([osversion isequaltostring:@"2.1"])
if ([osversion isequaltostring:@"2.2.1"])
if ([osversion isequaltostring:@"3.0"])
這裡有乙個別人寫好的類庫,專門用來得到系統版本資訊,用起來比較方便。
就像在windows系統下用 winver 巨集來判斷 windows 系統版本一樣,iphone os 中也有類似的巨集。
1234
//當前系統支援的最小版本
__iphone_os_version_min_required
// 當前系統支援的最大版本
__iphone_os_version_max_allowed
比如用 iphone os sdk 3.1.2 編譯的程式
12
__iphone_os_version_min_required == __iphone_3_0__iphone_os_version_max_allowed == __iphone_3_1
這時,我們可以在程式中使用下面類似的 $ifdef 語句:
12345
#if __iphone_os_version_max_allowed > __iphone_2_2// iphone os sdk 3.0 以後版本的處理
#else
// iphone os sdk 3.0 之前版本的處理
#endif
又或者 iphone os sdk 4 推出的時候,可以:
1234567
89
#if __iphone_os_version_max_allowed > __iphone_2_2#if __iphone_os_version_max_allowed > __iphone_3_1
// iphone os sdk 4.0 以後版本的處理
#else
// iphone os sdk 3.0 ~ 4.0 版本的處理
#endif
#else
// iphone os sdk 3.0 之前版本的處理
#endif
在 qt pro檔案中區分不同的qt版本
由於不同的版本的qt需鏈結不同的庫檔案,為了在專案檔案中對這個問題進行透明處理,需在 pro檔案中加入對當前qt 版本的判斷 chec qtversionqt version qt version qt version split qt version,qt ver maj member qt ve...
QT 版本號識別 不同系統區分
不同系統使用區分 1 qt version 在qt 工程中的pro檔案中可以使用message 列印出當前使用qt的版本如 qt core gui greaterthan qt major version,4 qt widgets message qt version qt version 在概要資...
埠 區分不同服務
埠 是英文port的意譯,可以認為是裝置與外界通訊交流的出口。埠詳解 埠是指介面電路中的一些暫存器,這些暫存器分別用來存放資料資訊 控制資訊和狀態資訊,相應的埠分別稱為資料埠 控制埠和狀態埠。電腦執行的系統程式,其實就像乙個閉合的圓圈,但是電腦是為人服務的,他需要接受一些指令,並且要按照指令調整系統...