如果我使用NSZombieEnabled = YES提交我的应用程序

时间:2010-08-08 22:49:01

标签: iphone debugging

有时我将NSZombieEnabled环境参数设置为YES以进行调试。

这次我忘记关闭该选项,并将我的应用程序提交到App Store。

我认为此选项只是一个环境选项,因此不会影响提交的应用程序。

我说错了吗?

2 个答案:

答案 0 :(得分:6)

取决于您如何设置它。可以在运行时切换。

如果你刚刚在Xcode的环境中设置它,那么 - no - 在Xcode之外的设备上运行时不会设置它。

(请注意,启用僵尸检测会使用 ton 内存,因为它实际上不会释放任何对象,只是标记为“应该已取消分配”)

答案 1 :(得分:0)

为这个答案添加一些清晰度:

我刚刚进行了测试。我在启动时将此代码插入我的应用程序:

if(getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled"))
    assert(NO);

然后我根据下图配置了XCode。

NSZombieEnabled in xcode

我在调试器中的设备上启动了我的应用程序。正如预期的那样,它因断言失败而崩溃。然后我断开调试器并在设备上正常启动应用程序。没有崩溃。

因此,如果您以下面的方式在XCode中配置NSZombieEnabled,看起来您可以提交到应用商店。