Cuando se utiliza Xcode 8+ y se crea un nuevo proyecto en blanco, aparecen los siguientes registros al ejecutar la aplicación:
2016-06-13 16:33:34.406093 TestiOS10[8209:100611] bundleid: com.appc.TestiOS10, enable_level: 0, persist_level: 0, propagate_with_activity: 0
2016-06-13 16:33:34.406323 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.409564 TestiOS10[8209:100611] subsystem: com.apple.UIKit, category: HIDEvents, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.504117 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.548023 TestiOS10[8209:100607] subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.568458 TestiOS10[8209:100608] subsystem: com.apple.FrontBoard, category: Common, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
¿Quizás alguien ya encontró una configuración para manejar esto?
Respuestas:
Prueba esto:
1- Desde el menú Xcode abierto: Producto> Esquema> Editar esquema
2- En su conjunto de variables de entorno
OS_ACTIVITY_MODE
=disable
fuente
NSLog
de un dispositivo real para mí ...Sobre la base del tweet original de @rustyshelf, y la respuesta ilustrada de iDevzilla, aquí hay una solución que silencia el ruido del simulador sin desactivar la salida NSLog del dispositivo.
fuente
disable
condefault
.OS_ACTIVITY_MODE no funcionó para mí ( puede haber sido porque escribí
disable
comodisabled
, pero ¿no es más natural?!?), O al menos no evitó una gran cantidad de mensajes. Así que aquí está el trato real con las variables de entorno.https://llvm.org/svn/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
Entonces configurando
OS_ACTIVITY_DT_MODE
"NO" en las variables de entorno (método GUI explicado en la captura de pantalla de esquemas en la respuesta principal) hace que funcione para mí.En cuanto a
NSLog
ser el vertedero de mensajes del sistema, errores y su propia depuración: probablemente se requiera un enfoque de registro real, por ejemplo, https://github.com/fpillet/NSLogger .O
Beba el nuevo Kool-Aid: http://asciiwwdc.com/2016/sessions/721 https://developer.apple.com/videos/play/wwdc2016/721/ No es sorprendente que haya algunos inconvenientes después de revisar todo API de registro.
APÉNDICE
De todos modos,
NSLog
es solo una cuña:https://developer.apple.com/library/content/releasenotes/Miscellaneous/RN-Foundation-OSX10.12/
Solo tiene sentido ahora citar la fuente para la otra variable env. Un lugar bastante diferente, esta vez de las partes internas de Apple. No estoy seguro de por qué se superponen. [Comentario incorrecto sobre
NSLog
eliminado][Editado el 22 de septiembre]: Me pregunto qué hacen "liberar" y "transmitir" de manera diferente a "depurar". No hay suficiente fuente.
https://github.com/macosforge/libdispatch/blob/8e63547ea4e5abbfe55c0c3064181c4950a791d3/src/voucher.c
fuente
os_log
informalmente como el nuevo Kool Aid.Un tweet tenía la respuesta para mí: https://twitter.com/rustyshelf/status/775505191160328194
Para evitar que el Simulador Xcode 8 iOS se registre como loco, configure una variable de entorno OS_ACTIVITY_MODE = deshabilitar en su esquema de depuración.
Funcionó.
fuente
disable
condefault
.Por favor encuentre los pasos a continuación.
CMD + <
Run
opción del lado izquierdo.Para obtener más información, encuentre la siguiente representación GIF.
fuente
disable
condefault
.Esto todavía no está solucionado en Xcode Versión 8.0 beta 2 (8S162m) para mí y también aparecen registros adicionales en la consola Xcode** EDITAR 8/1/16: Esto se ha reconocido en las notas de la versión de Xcode 8 Beta 4 (8S188o) como un problema que aún persiste .
Presumiblemente, esto se resolverá con el lanzamiento de GM. Hasta entonces, la paciencia y aunque no es ideal, pero una solución alternativa que estoy usando está por debajo ...
Similar a la respuesta anterior, tengo que:
prefijo mis registros de impresión con algún tipo de carácter especial (por ejemplo, * o ^ o!, etc., etc.)
Luego, use el cuadro de búsqueda en la parte inferior derecha del panel de la consola para filtrar los registros de mi consola ingresando mi carácter especial elegido para que la consola muestre mis registros de impresión según lo previsto
fuente
Mi solución es usar el comando depurador y / o mensaje de registro en puntos de interrupción.
Y cambie la salida de la consola de All Output a Debugger Output como
fuente
Bien. Parece que hay mucha conmoción sobre este, así que les daré una forma de persistir sin usar ese truco de esquema. Me referiré específicamente al Simulador de iOS, pero también es posible que esto también deba aplicarse para el Simulador de TV, que se encuentra en un directorio diferente.
El problema que está causando todo esto son las listas ubicadas dentro del directorio Xcode. Hay un proceso que se inicia llamado configd_sim cuando se inicia el Sim que lee las listas e imprime información de depuración si las listas especifican que deben registrarse.
Las listas se encuentran aquí:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Preferences/Logging/Subsystems
Si estás jugando con una versión beta, ten en cuenta que el directorio será diferente.
Verá numerosas listas en este directorio. Ahora, compila y ejecuta tu aplicación y observa los registros. Está buscando el contenido seguido inmediatamente por el subsistema: parte. Es el nombre que sigue inmediatamente a esto que representa la lista problemática correspondiente.
A partir de ahí, modifique el plist para eliminar la clave / valor de depuración [Nivel], que es un diccionario que contiene
"Enable" => "Default"
clave / valor ... o simplemente elimine el plist. Tenga en cuenta que necesitará ser root para hacer cualquiera de estos, ya que están ubicados en la aplicación Xcode.el
plutil -p
comando también podría serle útil. es decirEsto me dio una de las listas problemáticas que contenía:
{ "DEFAULT-OPTIONS" => { "Level" => { "Enable" => "Default" }}}
Buena suerte :]
fuente
2016-09-23 15:09:21.354686 ProductName[8823:191206][] tcp_connection_start 3 starting
Esto está relacionado con un problema conocido con el registro que se encuentra en las Notas de lanzamiento de Xcode 8 Beta (también se le preguntó a un ingeniero de WWDC).
Actualmente no hay una solución disponible, debe esperar una nueva versión de Xcode.
EDITAR 5/7/16: Esto supuestamente se soluciona a partir de Xcode 8 Beta 2:
Notas de la versión de Xcode 8 Beta 2
fuente
Esto ya no es un problema en xcode 8.1 (versión 8.1 beta probada (8T46g)) . Puede eliminar la
OS_ACTIVITY_MODE
variable de entorno de su esquema.https://developer.apple.com/go/?id=xcode-8.1-beta-rn
fuente
[MC] Reading from private effective user settings.
de un nuevo proyecto ficticio en blanco Archivo> Nuevo> Proyecto.En Xcode 10, la
OS_ACTIVITY_MODE
variable condisable
(odefault
) valor también desactiva elNSLog
no importa qué.Entonces, si desea deshacerse del ruido de la consola pero no de sus propios registros, puede probar el viejo en
printf("")
lugar del NSLog ya que no se ve afectado por elOS_ACTIVITY_MODE
=disable
.Pero mejor echa un vistazo a la nueva
os_log
API aquí .fuente
Esta solución me ha funcionado:
⌘
+/
)Esto eliminará todos los datos de depuración y también sus NSLogs.
Para filtrar solo sus declaraciones NSLog:
NSLog(@"^ Test Log")
Esto es lo que debes obtener:
fuente