有时,为了调试,我将NSZombieEnabled环境参数设置为YES。
这一次,我忘了关闭该选项,并向App Store提交了我的应用程序。
我认为这个选项只是一个环境选项,所以不会影响已提交的申请。
我说的对吗?
发布于 2011-08-03 08:26:25
为了给这个答案增加一些清晰度:
我刚做了个测试。我在启动时将以下代码插入到我的应用程序中:
if(getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled"))
assert(NO);然后,我按照下图配置了XCode。

我在调试器中启动了设备上的应用程序。不出所料,它因断言失败而崩溃。然后,我断开了调试器的连接,并在设备上正常启动应用程序。没有崩溃。
因此,只要您按照下面的方式在XCode中配置NSZombieEnabled,就可以提交到应用商店。
发布于 2010-08-09 07:13:32
这取决于您如何设置它。可以在运行时进行切换。
如果您只是在Xcode中的环境中设置它,那么--不--在Xcode之外的设备上运行时将不会设置它。
(请注意,启用僵尸检测会使用大量内存,因为它实际上不会导致任何对象被释放,只是标记为“本应被释放”)
https://stackoverflow.com/questions/3436390
复制相似问题