Was passiert mit NSLog-Anweisungen in der Produktion?

7

Wenn wir die Anwendung mit NSLog -Anweisungen senden,

Was werden die Aussagen bewirken? Werden diese noch ausgeführt? Wenn es ausgeführt wird, werden diese Protokolle irgendwo als Anwendungsprotokolle / Systemprotokolle gespeichert? Können wir das sehen? Ist es mit Apple-Absturzberichten in iTunesConnect verbunden?

Bitte klären Sie meine Zweifel.

    
Easwaramoorthy K 11.11.2013, 11:08
quelle

5 Antworten

7

Kurze Antwort: -

  1. Ja, es wird in der Produktions-App
  2. ausgeführt
  3. NSLog einfach an der Konsole anmelden, ich glaube nicht, dass es irgendwo gespeichert ist.
  4. Wir können nur in der Konsole sehen.
  5. Wenn die Anwendung abstürzt, wird NSLog nicht in den Absturzübermittlungsberichten gedruckt.
Hussain Shabbir 11.11.2013, 12:11
quelle
5

NSLog Aufrufe können im Produktionscode verbleiben. Es wird im Systemprotokoll protokolliert. Anwendungen, die das Systemprotokoll stören, sind lästig und unprofessionell. Versuchen Sie also, Makros in der Protokollierung zu verwenden, damit Sie die Ausführung von Protokollcode in der Produktion entfernen können.

%Vor%     
Lithu T.V 11.11.2013 11:12
quelle
4

NSLog-Anweisungen bleiben in Produktion. Sie finden sie in Ihrem xCode- & gt; windows- & gt; Organizer (shift + cmd + 2), wenn Sie Ihr Gerät angeschlossen haben. Überprüfen Sie die Konsole, die Sie sehen können, so wie andere Leute, die die App verwenden.

    
lxzhh 11.11.2013 12:13
quelle
2
  

NSLog-Anweisungen werden gespeichert & amp; in der Produktion ausgeführt, wenn Sie es sind   werde sie nicht entfernen. Was ist keine gute Praxis. Wenn sich das auswirkt   Anwendungsleistung.

Es gibt ein gutes Tutorial zum Anzeigen der Protokolle auf MobileTuts +

Anleitung Mobile Tuts Plus NSlog

Wie auch immer, wenn Sie es speichern möchten, müssen Sie es irgendwo im Dokumentenverzeichnis speichern, aber dann wären Sie auch nicht in der Lage, die Dateien aus dem Geräteanwendungsverzeichnis zu holen. Dafür kannst du es irgendwo in webserver oder etwas ähnliches hochladen. Dann können Sie auf sie zugreifen.

Bitte lassen Sie mich wissen, wenn noch Zweifel bestehen.

    
iCreative 11.11.2013 11:19
quelle
2

Ja, die Anweisung wird ausgeführt, wenn Sie sie im Release-Build gelassen haben.

Also ist es eine bessere Übung, NSLog in Release Build zu kommentieren oder DEBUG MODE zu verwenden, wie es von @Lithu T.V

gesagt wurde

Dadurch wird die Leistung besser. Weil NSLog ziemlich langsam ist. NSLog wird zwei Dinge tun 1) schreibe Logmeldungen in Apple System Logging (ASL) 2) Wenn die App in xcode läuft, schreibt sie auch in stderr.

Das Hauptproblem liegt in der ersten. Um threadsicher zu werden, öffnet es bei jedem Aufruf von NSLog eine Verbindung zur ASL-Einrichtung, sendet eine Nachricht und schließt die Verbindung. Der Verbindungsvorgang ist sehr teuer. Ein weiterer Grund ist, dass NSLog einige Zeit benötigt, um den Zeitstempel zu protokollieren.

UPDATE: Ich denke auch nicht, dass es eine direkte Möglichkeit gibt, das Protokoll vom System zu überprüfen, jedoch gibt es einige Softwares, die beim Anzeigen des Konsolenprotokolls helfen. Folgendes könnte Ihnen bei der Anzeige des Konsolenprotokolls helfen: Ссылка

Ich habe es nie selbst ausprobiert. So kann dir die Sicherheit nicht geben.

    
Neha 11.11.2013 11:17
quelle

Tags und Links