有时我将NSZombieEnabled环境参数设置为YES以进行调试。
这次我忘记关闭该选项,并将我的应用程序提交到App Store。
我认为此选项只是一个环境选项,因此不会影响提交的应用程序。
我说错了吗?
答案 0 :(得分:6)
取决于您如何设置它。可以在运行时切换。
如果你刚刚在Xcode的环境中设置它,那么 - no - 在Xcode之外的设备上运行时不会设置它。
(请注意,启用僵尸检测会使用 ton 内存,因为它实际上不会释放任何对象,只是标记为“应该已取消分配”)
答案 1 :(得分:0)
为这个答案添加一些清晰度:
我刚刚进行了测试。我在启动时将此代码插入我的应用程序:
if(getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled"))
assert(NO);
然后我根据下图配置了XCode。
我在调试器中的设备上启动了我的应用程序。正如预期的那样,它因断言失败而崩溃。然后我断开调试器并在设备上正常启动应用程序。没有崩溃。
因此,如果您以下面的方式在XCode中配置NSZombieEnabled,看起来您可以提交到应用商店。