2012-09-27 29 views
0

我新的應用程序和Xcode中的更新/版本的過程,所以這裏有幾個問題:從iOS 5.1更新應用程序到6.0 - 新的警告?

我創建的應用程序,並批准在老Xcode和模擬器5.1運行蘋果。我沒有任何警告信息。現在,當在新的xcode和模擬器6.0中運行時,我收到了20多條新的警告消息。

難道蘋果預計在任何版本的任何構建NO警告? 我是否需要修復所有警告或僅限某些警告? (即我的應用程序文件VS外部第三方框架/庫,我包括/導入到應用程序) 修復它們的這個版本6.0可能會破壞舊版本,是否正確? 該應用程序創建時的目標是5.1,但想要將其移回到4.3(更多用戶覆蓋),我只能在模擬器上測試它是否可以?

下面是一些例子警告: - JSONKit.m - 語義問題 - 以Objective-C的ISA直接訪問有利於object_setClass()和object_getClass() 是被反對的 - 許多類型的像 - 格式specifices鍵入「無符號長」但參數的類型是‘NSUInteger’(又名‘無符號整型’) - 可可API問題 - 使用‘stringWithString:’用文字是多餘的

感謝您的幫助。

+0

4.3(更多用戶覆蓋)??幾個月前,5.0已經高於80%的採用率。它回來了嗎? – BlueVoodoo

+0

我不知道採用率如此之高。是不是最好使用可能的最低目標,所以iPhone用戶手機的數量最多是兼容的?無論哪種方式,我應該如何處理警告的任何輸入?謝謝。 – rossi

回答

1

約定是編譯器生成錯誤和警告。

錯誤是指防止編譯能夠分析源和生成代碼致命問題。

編譯器警告是關於不阻止編譯成功,但可能會導致在運行時,你應該知道的問題,或標誌問題潛在的問題。

你應該明白,每一個警告被描述的問題,並決定是否採取行動。

具體而言,棄用警告是未來版本的iOS(或者庫,或其他)不再支持您正在使用的API的「單挑」,現在是時候考慮轉向新的API ,或者刪除依賴於該API的代碼。

通常情況下,警告可以忽略,但它是最好的做法,讓您的代碼乾淨的警告,因此任何新的警告是明顯的,並抓住你的注意力。

Apple不會拒絕基於編譯警告的應用程序。 Apple只能看到提交的二進制文件,並且無法訪問源代碼和任何關聯的警告。

3

蘋果不知道你有什麼警告編譯你的代碼。他們看到的只是一個有符號的二進制文件,可以工作(批准)或不(拒絕)。

你爲什麼現在得到它們?因爲新版本的Xcode對檢查可疑代碼有更好的啓發式。棄用警告是因爲您現在使用更新版本的iOS作爲目標。

你應該修復它們嗎?大概。我確實發佈了帶有編譯警告的代碼,但您需要考慮不根據具體情況修復警告的風險。有些比其他更重要或危險。

0

在使用JSONKit我會建議纏繞的adapater類代碼,以便您可以使用NSJSONSerialization的版本高於或等於5.0的情況下。

iOS版本低於5.0的用戶羣有多大?我讀到它不到百分之一?