我的问题说明了一切。它甚至可能吗?这很奇怪,我不知道在哪里看或做什么。一切都在模拟器中发布,当我使用调试模式在app中运行时。我可以在dealloc方法中查看日志,一切正常。但是当我在发布模式下运行我的应用程序时。对象未释放。
其他人有这个问题吗?
答案 0 :(得分:1)
根据我的理解,当您在调试或发布模式下构建时,ARC会自动释放具有不同时序的对象。这是因为编译器的优化标志在调试中为-O0
,在发布时为-O3
或-Os
。
我记得听过一位苹果工程师在WWDC '13会谈中谈到它(我会试着找到会话名称),而且从我记忆中来看,这种行为将会在期货Xcode构建中得到改善。调试模式下的ARC表现得与发布模式下的情况非常相似。
我知道这没什么用,但我对ARC的实施不够熟悉,无法提供更多细节。
另请参阅How do you debug an issue with a release mode build in iOS?以帮助在发布模式下调试代码。
答案 1 :(得分:0)
你是否不小心让Zombies开启了发布模式但是关闭了调试?通常情况下,所有诊断程序都已关闭以供发布,但它符合您的描述。