2008-12-10 12 views
12

क्या कोई मानक तरीका है या किसी ने कुछ लिखा है जो आपको एक संदेश लॉग करने की अनुमति देता है और इसे आईफोन स्क्रीन पर या आईफोन सिम्युलेटर में एक अलग विंडो में एक छोटे स्क्रॉलिंग सेक्शन में प्रदर्शित किया जा सकता है?किसी iPhone ऐप में डीबग जानकारी लॉग करने का सबसे अच्छा तरीका क्या है?

अद्यतन: मेरे जैसे नोब के लिए और नहीं जानते, नीचे दिए गए अनुसार एनएसएलओजी विधियों का उपयोग करें और सुनिश्चित करें कि आप कंसोल को प्रदर्शित करने के लिए रन-> कंसोल का चयन करें।

अभी भी अगर कोई एक साधारण लकड़हारा कि iphone ही ....

उत्तर

10

ऑब्जेक्टिव-सी (अधिक सही, वास्तव में) विधि

NSLog(@"message"); 

है लेकिन मानक सी विधि भी काम करेंगे

printf("message"); 
+8

यह करने की आदत में पाने के लिए कभी नहीं बहुत जल्दी है: (NSLog "@% @ ",@"संदेश"); जब आप बाद में रिफैक्टर करते हैं या कट और पेस्ट करते हैं तो प्रारूप-स्ट्रिंग बग पेश करना कठिन होगा। –

3

उपयोग NSLog (@ "लॉग संदेश") पर प्रदर्शित करता है लिखा है जानना चाहेंगे;

12

मैं काफी 'प्रतिष्ठा' एक जोड़ने की जरूरत नहीं है अपनी पोस्टिंग के लिए सीधी टिप्पणी लेकिन: एक्सकोड-> प्राथमिकताएं-> डिबगिंग-> प्रारंभ पर जाएं: कंसोल दिखाएँ & डीबगर

आप निश्चित रूप से केवल चुन सकते हैं कंसोल या जो भी हो, लेकिन आप शायद डीबगर को चाहते हैं। इसका उपयोग करने के लिए, बस उस लाइन के बाईं ओर क्लिक करें जिसे आप तोड़ना चाहते हैं। आप 'सक्रिय' से 'निष्क्रिय' करने के लिए भी टॉगल कर सकते हैं ताकि आप जानते हों कि ब्रेकपॉइंट्स का एक समूह है जिसे आपको अपने एप्लिकेशन की शुरुआत में हिट करने की आवश्यकता नहीं है, डीबगिंग को डीबैक्टिव (डिबगिंग विंडो में) पर सेट करें और फिर , आपके ऐप में यूआई तत्व को हिट करने से पहले आप डीबग करना चाहते हैं, उसी बटन को सक्रिय करने के लिए टॉगल करें ताकि आपके ब्रेकपॉइंट सक्रिय हो जाएं। अन्यथा, आप निश्चित रूप से तब तक जारी रह सकते हैं जब तक कि आप अपने सेक्शन तक नहीं पहुंच जाते।

इसके अलावा, एनएसएलओजी पर, यदि आप लॉग स्टेटमेंट्स का एक समूह जमा करना शुरू करते हैं, और आपको विशेष रूप से 'ढूंढ' की ज़रूरत है, तो यह करने में मदद करता है: NSLog (@ "\ n \ n \ n मेरा कथन \ n \ n \ n); जो पंक्ति विराम का एक समूह दे देंगे इसके अलावा, uninitiated के लिए:

NSLog(@"My int: %d my BOOL: %d", myInt, myBOOL); 
NSLog(@"My object of any NSObject: %@", anObjectOfAnyKind); 
NSLog(@"My float: %f",myFloat); 

आशा अगर मैं डिबगिंग बिट के साथ ट्रैक से बाहर हो गया यह सब उपयोगी और खेद है;)

+0

सभी अच्छी जानकारी - धन्यवाद! – nevster

2

यदि आपके पास कोई एप्लिकेशन है जो क्रैश हो रहा है तो आप उपयोगकर्ताओं को क्रैश लॉग से पूछ सकते हैं। क्रैश लॉग में यह जानकारी होती है कि एप्लिकेशन क्रैश होने पर और स्टैक ट्रेस के दौरान क्या कर रहा था।

आईफोन ऐप लॉग फ़ाइलें आपके उपयोगकर्ता कंप्यूटर पर भी संग्रहीत की जाती हैं, और हर बार जब वे अपने आईफोन को सिंक करते हैं तो कॉपी की जाती हैं। (ध्यान दें कि iTunes में DEVICE_NAME आपके आईफोन का एक ही नाम होगा, और प्रत्येक लॉग फ़ाइल ऐप के नाम से शुरू होगी।)

मैक ओएस एक्स:/Library/लॉग्स/CrashReporter/MobileDevice //

Windows XP: सी: \ दस्तावेज़ और सेटिंग्स \ Application Data \ एप्पल कंप्यूटर \ लॉग्स \ CrashReporter \

Windows Vista: C: \ Users \ AppData \ रोमिंग \ एप्पल कंप्यूटर \ लॉग्स \ CrashReporter \ MobileDevice \

+2

क्या कंसोल लॉग भी कॉपी हो जाता है? – mahboudz

0

स्विफ्ट के लिए, यह बस है

print("log msg") 
संबंधित मुद्दे

 संबंधित मुद्दे