2012-02-06 48 views
4

我有一個現有的巨大iOS項目,默認情況下設置爲iOS 5.0目標。但我很確定它也是4。兼容。iPhone - 如何確定部署目標iOS版本的現有項目

我怎麼知道我的應用程序可以定位到的最低iOS版本,而不必逐字比較整個代碼和iOS文檔,以瞭解每個方法/常量/ ...引入的iOS版本並且最終知道我可以定位的最低iOS版本是什麼?這將需要數週!

(XCode沒有幫助...將iOS目標設置爲更低的值,這樣iOS 5在編譯時就不會引發任何警告或錯誤,所以我不知道哪些方法僅適用於iOS 4.2目標版本到iOS 4.1 ...)

+0

不明白你想要什麼? – 2012-02-06 09:50:23

+0

@HardikShah:看我的編輯 – Oliver 2012-02-06 09:54:48

+0

我認爲你應該把它設置爲3.2,這對於所有設備來說已經足夠了,並且不應該出現警告,不是嗎? – 2012-02-06 10:02:33

回答

0

在目標的構建設置中,您可以搜索部署目標。這會爲您提供有關此應用開發的最低iOS版本的信息。

+1

不,那只是告訴應用程序應該工作的最小版本,即使它不是這樣。 – Oliver 2012-02-06 10:05:09

2

如果您已經使用過任何iOS 5 API,那麼當該代碼嘗試在iOS 4.x上執行時,應用程序將會崩潰,除非在調用它們之前檢查方法是否可用(查找「respondsToSelector :「在文檔中)。

將您的部署目標設置爲iOS 4.3。在模擬器中,在左上角下拉菜單中,它應該爲您提供iOS 5或4.3模擬器的選擇。選擇4.3,然後徹底測試你的應用程序,如果它崩潰了,你可以檢查控制檯日誌以找到有問題的API調用,然後找出如何處理它。

如果在構建下拉列表中看不到4.3,那麼您必須仍然有5.0作爲您的部署目標。

除非您有測試設備運行您可以使用的早期操作系統,否則建議不要將部署目標設置爲早於4.3。

因此,您的問題的答案是,部署目標應該是可以測試應用程序的最早版本的iOS(無論是模擬器還是實際設備),除非您在以後的操作系統中依賴於API版本,不能解決它們。

+0

不錯的主意,但如果它具有需要設備運行的功能,比如相機,陀螺儀,加速度計,GPS等,您應該如何運行應用程序?該應用程序具有所有這一切。 – Oliver 2012-02-06 10:07:28

+0

@Oliver這是一個不同的問題,因爲它們取決於硬件,而不是iOS版本。有許多方法可以檢查您提到的所有內容。您可能希望在應用程序啓動時檢查它們。 – AnthonyBlake 2012-02-06 10:11:04

+0

@Oliver,你可以檢查相機,加速度計等文檔,並確保你沒有使用任何iOS5功能,或者你可以得到第二個手機來測試和安裝早期的iOS版本。後者的選擇是專業人士所做的(我在各種操作系統上有五套iPhones,iPod Touch和iPad),但如果您剛剛成爲開發人員,則這是一個昂貴的選擇。 – 2012-02-06 10:15:39