Iphone 禁用arc后应用程序崩溃

Iphone 禁用arc后应用程序崩溃,iphone,ios5,automatic-ref-counting,Iphone,Ios5,Automatic Ref Counting,我已经为ios3开发了一个项目,ios4是在sdk4上开发的。但是我的应用程序在iOS5上崩溃了,而它在较低版本上运行良好 我猜这是因为ios5的ARC概念 所以我尝试的是 已安装sdk 4.2 从弧的编辑选项中折射投影。(我在转换弧时遇到一些错误。我继续)。 已禁用生成设置中的圆弧。 同时设置标志-fno objc arc 但没有运气应用程序仍然崩溃 它在访问属性值时崩溃。为什么您猜测它是ARC?ARC甚至不会发生,除非你特别要求它这样做。我敢打赌,这更多地与ios4和ios5之间的API变化

我已经为ios3开发了一个项目,ios4是在sdk4上开发的。但是我的应用程序在iOS5上崩溃了,而它在较低版本上运行良好

我猜这是因为ios5的ARC概念

所以我尝试的是

已安装sdk 4.2

从弧的编辑选项中折射投影。(我在转换弧时遇到一些错误。我继续)。 已禁用生成设置中的圆弧。 同时设置标志-fno objc arc

但没有运气应用程序仍然崩溃


它在访问属性值时崩溃。

为什么您猜测它是ARC?ARC甚至不会发生,除非你特别要求它这样做。我敢打赌,这更多地与ios4和ios5之间的API变化有关


我的建议是,在进行这些更改之前,使用源代码管理返回到您的版本,在ios5上再次运行,阅读堆栈跟踪,并找出导致应用程序崩溃的真正原因。

它在哪里崩溃?什么代码?还有更多信息吗?所以“我的应用程序在我试图在iOS5 SDK上运行时崩溃了。所以我启用了ARC,它崩溃了。然后我禁用了ARC,它仍然崩溃。这一定是ARC的错!”@NJones你写这句话的意思是,你指责ARC的理由似乎不确定。我已经用ios 5设备检查了旧版本。它快崩溃了。原因是meesage被发送到deallocated实例。而如果我尝试使用ios 4,则不会出现这样的错误。这就是为什么我猜你不应该在调试时猜。API在主要版本之间发生变化,这有时会导致代码中的潜在问题浮出水面,而以前的版本没有。再次,我建议您回滚您的源代码,并找出导致释放实例的原因。它在访问属性值时导致释放,但在iOS4的情况下不会导致释放。忘记它在iOS4中不会崩溃的事实,它现在是不相关的。向我们展示它崩溃时的堆栈跟踪。说明如何创建属性。给我们更多的信息,也许我们可以告诉你为什么它会崩溃。