2011-09-13 43 views
3

一直在研究這一段時間,但並不確定該做什麼。iOS上的調試模式

我想讓用戶可以打開或關閉調試模式。 NSLog上的調試模式將打印到控制檯。

目前我可以在使用預處理器(DEBUG)的構建設置中打開或關閉調試模式,並使用以下代碼來「阻止」NSLog。

#ifdef DEBUG 
    NSLog(@"If you can see this then debug is on"); 
#endif 

我創建的設置頁面切換開關來獲得用戶的輸入,但我不知道如何使用該輸入,然後未定義/重新調試。有任何想法嗎?

我不確定這是否甚至可能,所以任何備用解決方案也將不勝感激。

非常感謝:)

回答

5

你不應該使用預處理程序指令:使用#ifdef DEBUG意味着,如果沒有定義DEBUG,這段代碼沒有得到根本編譯。

您應該用一個簡單的if語句替換預處理器指令,該語句檢查全局變量(或者至少可以是解決方案)。

+0

嘿,那裏。這可能是一個完全不同的問題,但我應該使用全局變量還是單例?再次感謝:) – IainNotAndrew

+0

不知道是否有一個「正確」的選擇,但我會使用一個簡單的變量,因爲它似乎是最簡單的解決方案。如果全局變量的數量變高或者需要執行額外的檢查,而不是簡單的'if(DEBUG)',你可能會想到一個單例。再次,這只是我的看法,我不確定這是最好的事情。 :) – Saphrosit

+0

好的謝謝你的幫助:) – IainNotAndrew

0

我相信你的代碼塊只會檢查你是否正在爲調試或發佈而構建,並會相應地進行構建。

你可以在一個設備上構建它,它將處於發佈模式,否則我認爲不可能在發佈模式下運行模擬器。

也許手動構建模擬器的應用程序,並移動打包文件只運行在模擬器上,而不運行xcode,但它不會是合理的,我猜。