2016-12-04 3 views
0

デバイスごとのスナップショットテストがあります。私は自分のテストで、私はそれのためのスナップショットを持っている特定のシミュレータを実行しているチェックしたい。iPhone6s Plusシミュレータで動作しているかどうかを確認する方法

たとえば、現在のシミュレータがiPhone6sPlus9.2 であることをテストしたいと思います。他の多くのシミュレータタイプではスナップショットが記録されていないためです。ここhttps://github.com/erica/uidevice-extension/

// UIDevice + YYAdd.h // YYKit https://github.com/ibireme/YYKitからのコードからも

(lldb) po [[UIDevice currentDevice] platform] 
x86_64 

(lldb) po [[UIDevice currentDevice] hwmodel] 
MacBookPro11,2 

(lldb) po [[UIDevice currentDevice] platformType] 
0x0000000000000002 

(lldb) po [[UIDevice currentDevice] platformString] 
iPhone Simulator 

(lldb) po [[UIDevice currentDevice] model] 
iPhone 

(lldb) po [[UIDevice currentDevice] localizedModel] 
iPhone 

(lldb) po [[UIDevice currentDevice] systemName] 
iPhone OS 

(lldb) po [[UIDevice currentDevice] systemVersion] 
9.2 

(lldb) po [UIDevice currentDevice] 
<UIDevice: 0x7fccf060a480> 

(lldb) po [[UIDevice currentDevice] name] 
iPhone Simulator // I WANT TO KNOW THAT IT IS IPHONE6SPLUS 9.2 

やコード:

は、私のような多くのバリエーションを試してみました

しかし、両方とも、デバイスタイプの「x86」などの無関係な値を返しています。

+1

http://stackoverflow.com/questions/26028918/ios-how-to-determine-iphone-model-in-スウィフト – ColdSteel

+0

良い。それは物理的デバイスです。私はシミュレータタイプが必要です –

+0

私の答えはあなたのために働いたのですか? –

答えて

0

は、それはiPhone6sプラスシミュレータ用iPhone8,2を返します

[NSProcessInfo processInfo].environment[@"SIMULATOR_MODEL_IDENTIFIER"]を試してみてください。

注意:特定のシミュレータモデルに対してコードを書く理由があるかもしれませんが、一般的には良い考えではありません。代わりに、画面サイズを動的に調整し、API /フレームワークの可用性を確認してください。

関連する問題