2011-07-19 64 views
0

簡單地說,我想在連接設備時打印到控制檯,並在設備未連接時打印到設備。我從來不使用模擬器,但希望有一種類似於下面的模擬器。除了檢測我是否使用模擬器,我想自動檢測設備是否連接。檢測iPhone設備是否連接到機器以進行調試

無論如何,我們可以做到這一點?

謝謝!

#if TARGET_IPHONE_SIMULATOR == 0 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"console.log"]; 
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr); 
#endif 

回答

2

打印到控制檯vs打印到設備的手段? 當您使用正常的NSLog時,它在設備連接時顯示在控制檯上,並顯示在設備日誌(您可以從Xcode管理器中提取),當未連接時。

你可以更具體一點你想要做什麼?

更新

enter image description here

這就是你看到的日誌。

在組織者,你有一種叫做「設備」的東西。展開,然後選擇「控制檯」。控制檯將非常麻煩,因爲它包含所有應用程序和系統內置日誌的日誌。你可以通過你的應用程序名稱來過濾它們。

+0

如果你所說的話是正確的,那麼你已經回答了我的問題。我可以在哪裏找到Xcode組織者的設備日誌?我看了一眼,沒有看到任何東西。 –

+0

在Xcode4組織器中,它位於設備下左側的「庫」列中。它在每個設備「Provisioning Profiles」,「Applications」,「Console」,「Device Logs」和「Screenshots」下顯示5行。 – progrmr

+0

我可以看到設備日誌,但它們看起來像是崩潰日誌。我沒有看到任何NSLog語句。當設備未連接時,你確定NSLog打印嗎? –

0

在我的情況下,我想顯示UIAlertViews,如果沒有附加,並打印到NSLog,否則。 問題是如果有一種方法可以添加#if ... #endif指令,以便在調試時附加/未附加。

相關問題