ios cocoa-touch restkit

ios - Restkit, ¿Detener el registro?



cocoa-touch (5)

La solución de Kyle es correcta. La versión Swift es un poco diferente:

RKlcl_configure_by_name("*", RKlcl_vOff.rawValue)

Me pregunto ... Restkit sigue mostrando información de accesibilidad, solicite información mientras la uso. ¿Se detendrá automáticamente en la versión de producción o tengo que hacer algo para evitar que se muestren como la configuración del nivel RKLog?

Gracias


Los mensajes de registro en una aplicación RestKit están controlados por las llamadas RKLog. Por ejemplo:

RKLogConfigureByName("RestKit", RKLogLevelWarning); RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace); RKLogConfigureByName("RestKit/Network", RKLogLevelTrace);

RKLog se implementa con la biblioteca lcl_log de Aren Harren (consulte http://0xc0.de/LibComponentLogging ). Solo busqué brevemente el código de lcl y no vi ningún código que impidiera que se imprima en una versión de producción, por lo que me aseguraría de que mi código RKLog no aparezca en el código de producción.


Para apagar todo, agregue esto a su delegado de aplicación.

RKLogConfigureByName("*", RKLogLevelOff);

Nota: al menos en RestKit v0.20.x aún verás un mensaje "RestKit logging initialized ..." en las versiones dev.


Para suprimir solo los mensajes de Alcance, use esto:

RKLogConfigureByName("RestKit/Network/Reachability", RKLogLevelCritical);

Busque en lcl_config_components.h para la lista completa:

"restkit" "RestKit" "restkit.network" "RestKit/Network" "restkit.network.cache" "RestKit/Network/Cache" "restkit.network.queue" "RestKit/Network/Queue" "restkit.network.reachability" "RestKit/Network/Reachability" "restkit.object_mapping" "RestKit/ObjectMapping" "restkit.core_data" "RestKit/CoreData" "restkit.core_data.cache" "RestKit/CoreData/Cache" "restkit.core_data.search_engine" "RestKit/CoreData/SearchEngine" "restkit.support" "RestKit/Support" "restkit.support.parsers" "RestKit/Support/Parsers" "restkit.three20" "RestKit/Three20" "restkit.ui" "RestKit/UI" "restkit.testing" "RestKit/Testing" "app" "App"


RestKit está configurado para mostrar mensajes de información y más en las construcciones DEBUG. En las compilaciones que no son DEBUG, solo se registran las advertencias, los errores y los mensajes críticos. Esto se define a través de RKLogLevelDefault en RKLog.h .

Si desea cambiar el nivel de registro para uno de los componentes de registro de RestKit, puede llamar a RKLogConfigureByName(component, level) con el nombre del component y el level registro RKLogLevel . RKLogConfigureByName("*", RKLogLevelOff) se puede usar para deshabilitar el registro de todos los componentes. Asegúrese de que se RKLogInitialize() llamado a RKLogInitialize() antes, porque RKLogInitialize() sobrescribe la configuración de nivel de registro para los componentes de RestKit en la primera llamada.

Si desea eliminar todo el código de registro de su compilación de producción, simplemente puede agregar el preprocesador define _LCL_NO_LOGGING a sus configuraciones de compilación. Vea http://0xc0.de/LibComponentLogging para más detalles.