ios - microsoft - visual studio installer
¿Cómo registrar una advertencia que aparece como un problema de tiempo de ejecución en Xcode? (5)
Ver here
Una vez que haya implementado su aplicación, ya sea a través de la App Store o como una compilación Ad Hoc o Enterprise, no podrá adjuntar el depurador de Xcode. Para depurar problemas, debe analizar los registros de bloqueos y la salida de la consola desde el dispositivo.Los registros de bloqueo de Apple Watch estarán disponibles en el dispositivo emparejado y también se pueden obtener utilizando los métodos que se describen a continuación.
Para obtener más información sobre cómo escribir declaraciones de NSLog completas , consulte Registro mejorado en Objective-C .
Pegue el código de ejemplo a continuación en su proyecto:
NSMutableArray *someObject = [NSMutableArray array];
NSLog(@"%s:%d someObject=%@", __func__, __LINE__, someObject);
[someObject addObject:@"foo"];
NSLog(@"%s:%d someObject=%@", __func__, __LINE__, someObject);
Xcode 8 o 9 comenzaron a mostrar problemas de tiempo de ejecución. Verá un icono púrpura en la parte superior de la ventana y una lista en Issue Navigator, junto a problemas de tiempo de compilación, como advertencias de compilación y errores.
Los problemas de tiempo de ejecución que he visto son creados por las bibliotecas del sistema. ¿Hay alguna manera para que mi propio código de aplicación genere estos?
El marco de CocoaLumberjack se puede utilizar para capturar los registros de la consola de Run Times , así como los registros de activación de fondo de la aplicación.
https://github.com/CocoaLumberjack/CocoaLumberjack
https://github.com/phonegap/phonegap-plugin-push/issues/1988
De esta manera, puede capturar las advertencias de color púrpura que se muestran en Xcode9 como a continuación en un archivo que se mantiene dentro del Contenedor de aplicaciones:
================================================== ===============
Verificador de subprocesos principal: API UI llamada en un subproceso en segundo plano: - [UIApplication registerUserNotificationSettings:] PID: 2897, TID: 1262426, nombre del hilo: (ninguno), nombre de cola: com.apple.root.default-qos, QoS: 21
¡Sí! Los verás si haces algo que atrapa un desinfectante, como realizar ciertas operaciones de UI en un subproceso de fondo con Thread Sanitizer habilitado. Tener un diseño ambiguo y pausar en el depurador de la vista también es una forma de lograr que esto ocurra. De cualquier manera, ver que esto ocurra en las bibliotecas de Apple no es algo bueno ...
Depende de usted si está haciendo cualquier cosa relacionada con la interfaz de usuario en otro hilo que no sea el principal, por lo que el sistema generará para usted, de lo contrario no podrá generarlo manualmente.
Todas las manipulaciones de la interfaz de usuario deben hacerse en el hilo principal.
Si no lo está haciendo así, en XCode 9 tiene una función llamada Verificador de hilo principal .
Para obtener más información, puede visitar la siguiente url: https://developer.apple.com/documentation/code_diagnostics/main_thread_checker
Básicamente, se usa para verificar si UIKit
relacionado con UIKit
está ocurriendo en un hilo principal o no. Si no lo hace, se producirán problemas en Runtime. Así que envuelva su código en el bloque del subproceso principal como a continuación para evitar fallos y advertencias de tiempo de ejecución.
Puede habilitar - Deshabilitar usando estos pasos Editar esquema ... -> (Seleccione su esquema) -> Diagnóstico -> Deshabilitar ''Comprobador de hilo principal''
En XCode 8.3 y versiones anteriores, puede usar set breakpoint en cualquier método de clase setNeedsDisplay()
como setNeedsDisplay()
como a continuación.
También hay una biblioteca en clase de objetivo-c steipete en la que se usa #import <objc/runtime.h>
.
Pero en Xcode 9 debajo de la biblioteca Xcode.app/Contenets/Developer/usr/lib/libMainThreadChecker.dylib
está disponible, que maneja cualquier problema relevante potencialmente ejecutado en el hilo fuera de la actividad principal en tiempo de ejecución.