With NSZombieEnabled turned on it will provide some guard against the EXC_BAD_ACCESS issues happening at runtime.
I am doing dual-diligence to make sure no/little memory leaks, but I might over releasing so having NSZombieEnabled turned on would help prevent that, am I right? Or with NSZombieEnabled turned on, would all memory releasing operations be translated into no-op? It’ll be a big problem is that’s the case.
No, you should not ship with
NSZombiesEnable. Zombies work by casting the isa pointer of deallocated objects to a “zombie” class. The storage for this object is not freed unlessNSDeallocateZombiesis enabled. Therefore, if you leave zombies enabled, you may be leaking memory.In addition, Apple says not to leave it enabled in
NSDebug.h:If distributing on the AppStore, my guess is that you would not pass the review.