模擬器,真機區別

2021-06-18 02:38:44 字數 1913 閱讀 9286

[cpp]view plain

copy

if(ui_user_inte***ce_idiom() ==uiuserinte***ceidiompad)  

else  

請注意,如果你在建立專案的時候只支援一種裝置型別,上面的語句將始終返回選定ios裝置型別,如專案只支援iphone,即使在ipad上執行,前述的**依然返回iphone裝置型別。

我們可以從 uidevice 的屬性 model 得到在現在執行的環境。

[cpp]view plain

copy

nsstring *modelname = [[uidevice currentdevice]model];   

if([modelname isequaltostring:@

"iphone"

])    

if([modelname isequaltostring:@

"ipod touch"

])  

if([modelname isequaltostring:@

"iphone simulator"

])   

或者也可以這樣:

[cpp]view plain

copy

#import 

#if target_os_iphone 

// iphone device

#endif 

#if target_iphone_simulator 

// iphone simulator

#endif 

#if !target_iphone_simulator 

// iphone device

#endif

可以通過 uname 函式取得當前機器的版本。

[cpp]view plain

copy

struct

utsname u;   

uname(&u);   

nsstring *machine = [nsstringstringwithcstring: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"

])   

可以使用 uidevice 的屬性 systemversion 來得到。

[cpp]view plain

copy

nsstring *osversion = [uidevice currentdevice].systemversion;   

if([osversion isequaltostring:@

"2.1"

])    

if([osversion isequaltostring:@

"2.2.1"

])   

if([osversion isequaltostring:@

"3.0"

])   

symbian模擬器和真機的區別

模擬器是把symbian os核心移植到win32平台,大多數情況下模擬器環境和真機相似,但仍有以下區別,有些足以給開發者帶來不少麻煩。位元組對齊和記憶體限制將著重介紹。1.引導程式 真機上,首先執行乙個引導程式用來在啟動核心之前對一系列硬體初始化。模擬器就不需要進行初始化硬體而是直接啟動核心 執行...

lipo合併真機模擬器

合併真機模擬器.a檔案,製作通用靜態庫 這兩個庫乙個是用於真機執行的乙個是用於模擬器執行的.其實我們可以利用lipo將這二個檔案打包成乙個通用的a檔案。命令 lipo create users pjk1129 library developer xcode deriveddata print dgf...

時間轉換 真機和模擬器錯誤

iphone中nsdateformatter模擬器可以正常顯示,但在真機上不行,轉換後的nsstring為null,部分 如下 nsdateformatter formatter nsdateformatter alloc init formatter setdateformat eee mmm d...