有時我將NSZombieEnabled環境參數設置爲YES進行調試。如果我提交我的應用程序NSZombieEnabled = YES
這次我忘了關閉選項,並將我的應用程序提交給App Store。
我想這個選項只是一個環境選項,所以並不影響提交的應用程序。
我正確嗎?
有時我將NSZombieEnabled環境參數設置爲YES進行調試。如果我提交我的應用程序NSZombieEnabled = YES
這次我忘了關閉選項,並將我的應用程序提交給App Store。
我想這個選項只是一個環境選項,所以並不影響提交的應用程序。
我正確嗎?
在一定的清晰度增加這個答案:
我剛跑過一個測試。我在啓動時將此代碼插入到我的應用程序中:
if(getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled"))
assert(NO);
然後根據下圖配置XCode。
我發起調試器中的設備上我的應用程序。正如預期的那樣,它以斷言失敗而告終。然後,我斷開調試器並在設備上正常啓動應用程序。沒有崩潰。因此,如果您在XCode中以下面的方式配置NSZombieEnabled,那麼您似乎可以提交給應用商店。
取決於您如何設置它。可以在運行時切換。
如果你剛纔在Xcode環境中設置了它,那麼 - 不 - 它將不會在Xcode之外的設備上運行時被設置。
(注意:啓用了殭屍檢測使用的內存噸因爲它有效地使沒有對象被釋放,只是標記爲「應該已經釋放」)
謝謝你的回答。 是的,我把它設置爲Xcode,就像這個截圖一樣。 http://www.tomwhitson.co.uk/blog/2009/04/debugging-with-nszombiesenabled/ – tokentoken 2010-08-08 23:31:09
你也可以閱讀這篇文章:http://stackoverflow.com/questions/1622079/break- on-exc-bad-access-in-xcode/1622091#1622091 – iwasrobbed 2010-08-09 00:08:09
你從哪裏得到那個信息包? – beOn 2010-09-09 20:36:42
謝謝你的回答!我也學會了NSAutoreleaseFreedObjectCheckEnabled選項。 – tokentoken 2011-08-04 00:16:14