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.
Kurze Antwort: -
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.
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.
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 wurdeDadurch 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.
Tags und Links objective-c iphone ios ipad