2016-08-15 42 views
0

我正在測試我的應用程序與Xcode設備模擬器,以確保所有功能至少與iOS 8.1工作良好,我意識到一些讓我困惑的東西。有一些功能的代碼具有8.3的可用性,但是當我在運行8.1的模擬器上運行我的應用程序時,一切都按預期工作。這是怎麼回事?考慮到幾乎90%的用戶擁有9.0以上的版本,它甚至值得支持低於9.0嗎?可以將Xcode設備模擬器用作測試應用程序與舊版iOS版本兼容性的可靠方法嗎?

+0

目前在iOS 9下可能不值得支持,但這取決於您的用戶羣。此外,蘋果公司有時會在公開發布之前私下測試iOS中的API。在公開發布之前,不要在任何版本的iOS中使用API​​,因爲行爲不能保證一致(甚至無法保持一致,並且通常不是無錯的)。 –

回答

0

有問題的代碼與以前的OS版本發佈的類有關嗎?如果在您設置爲部署目標的操作系統版本發佈時對象本身不可用,則應該得到編譯時錯誤,指出「XX僅適用於iOS XX或更新版本」

如果它只是一個新的方法到現有的類,你可能可以讓它建立和模擬。調用代碼應該會導致應用程序崩潰。使用日誌語句來確保方法實際上被調用。

0

我會建議,大多數情況下,您應該使用模擬器來測試UI,並且您的數據計算或應用程序/業務邏輯工作與否。但是,您必須嘗試使用​​真實設備來測試應用程序的性能,因爲每個iPhone的硬件都不同。回到你原來的問題 - 當你說模擬器上的一切正常,但不是在真實的設備上時,是否有任何具體的事情要嘗試調試?

+0

它在模擬器和設備上都可以正常工作。我不明白的是,如果代碼在iOS 8.3中可用,它是如何在運行iOS 8.1的模擬器上運行的? – kevingalarza29

0

您應該使用設備進行測試,因爲在模擬器和實際設備中實現的東西存在巨大差異。您可以使用模擬器進行邏輯測試。

相關問題