2014-09-25 56 views
0

我已經查看了所有可用於確定應用程序運行的設備的代碼,但是如何知道模擬器中運行的設備?如何確定在模擬器中運行的設備?

我以前從未遇到過這個問題,因爲我一直有硬件來測試。現在iPhone 6/6 +已經不在了,我只有6+,但需要在模擬器的6上進行測試。當我使用this thread來確定我正在運行的設備時,我所得到的只是模擬器。

謝謝。

+0

你的目標是?你爲什麼需要了解該設備?你在運行時無法確定哪些特性? – rmaddy 2014-09-25 17:10:22

+0

大小班怎麼樣?這就是他們所做的 - – Hyperbole 2014-09-25 17:12:45

+0

看到我下面的評論。這不是關於屏幕尺寸或類別。 – 2014-09-25 18:31:20

回答

1

雖然其他意見有一點,但您並不需要知道您正在運行的設備,您需要知道的是,您有什麼功能可用。即使如此,如果您只想輸出此消息,則顯示iPhone 6而不是模擬器將是錯誤的。只需爲iPhone 6模型添加正確的代碼,它應該可以工作,而不是真的在這裏可能會出錯。

但是,如果你仍然想支持這個,我會去檢查每個設備的硬編碼分辨率。由於編程方式,6+和6之間沒有區別,除了你可以使用它的分辨率。但要知道,模擬器幾乎可以選擇任何尺寸,所以您必須有一個回退邏輯。

所以分辨率(在邏輯分):

  • 320×480 - iPhone 4/4S
  • 320×568 - iPhone 5/5℃/ 5S
  • 375 X 667 - iPhone 6
  • 414 X 736 - iPhone 6+

從這裏就已經可以看到該決議是真的不是最好的方式,因爲你不能看到迪菲您可以添加額外的檢查來解決這個問題,您可以通過檢查Touch ID是否可用或類似來分開iPhone 5S。但是你將無法完全解決問題。

相關問題