我有一個已開發的項目,用於在sdk4上開發的ios3和ios4,但我的應用程序在ios 5上運行正常,但在較低版本上運行正常。禁用弧後應用程序崩潰
正如我的猜測,這是由於ios5的ARC概念。
所以我試過的是
安裝了sdk 4.2。
ARC編輯選項中的refractor項目(我在轉換arc.i的過程中遇到了一些錯誤)。 構建設置中禁用的弧線。 也設置了標誌-fno-objc-arc
但是沒有運氣應用仍然崩潰。
它在訪問屬性值時崩潰。
我有一個已開發的項目,用於在sdk4上開發的ios3和ios4,但我的應用程序在ios 5上運行正常,但在較低版本上運行正常。禁用弧後應用程序崩潰
正如我的猜測,這是由於ios5的ARC概念。
所以我試過的是
安裝了sdk 4.2。
ARC編輯選項中的refractor項目(我在轉換arc.i的過程中遇到了一些錯誤)。 構建設置中禁用的弧線。 也設置了標誌-fno-objc-arc
但是沒有運氣應用仍然崩潰。
它在訪問屬性值時崩潰。
你爲什麼猜測它是ARC?除非你明確要求ARC這樣做,ARC甚至不會發生。我敢打賭,它與iOS 4和ios5之間的API更改有關。
我的建議是在做出這些更改之前,使用源代碼管理返回到您的版本,再次在ios5上運行它,讀取堆棧跟蹤,並找出真正導致您的應用程序崩潰的原因。
我使用ios 5設備檢查舊版本。它正在崩潰。原因是meesage發送到deallocated instance.while如果我嘗試與ios 4沒有這樣的錯誤。所以這就是爲什麼我猜測 –
你不應該猜測你什麼時候調試。主要版本之間的API會發生變化,這有時會導致代碼中的潛在問題在以前沒有發生時浮出水面。同樣,我建議你回滾你的源代碼,找出導致釋放實例的原因。 – sosborn
它導致訪問屬性值,但不會導致在ios4的情況下 –
它在哪裏崩潰?在什麼代碼上?更多信息? – bryanmac
所以「當我嘗試在iOS5 SDK上運行它時,我的應用程序崩潰了,所以我啓用了ARC並崩潰了,然後我禁用了ARC againg,並且它仍然崩潰,這一定是ARC的錯! – NJones
@NJones你寫這行的意思是 –