¿Cómo depurar una aplicación que funciona bien en el simulador de iOS, pero se bloquea en el iPhone X?

1

Actualmente estoy creando una aplicación con Cordova, y parece que en la última versión alfa, la aplicación solo funciona en el simulador de iOS. Cuando se ejecuta en un iPhone X, la aplicación se bloquea de inmediato.

No estoy familiarizado en absoluto con el desarrollo de software para la plataforma Apple, así que me preguntaba:

  • ¿Cuáles son mis opciones para entender qué está mal?

  • ¿Hay algún tipo de cosas que debería tener en cuenta para evitar el bloqueo silencioso?

Sé que podemos vincular un iPhone con el depurador de Safari, pero asumo que esto solo funcionará para la inspección del navegador, no para la depuración de aplicaciones.

    
pregunta zessx 30.08.2018 - 12:20

1 respuesta

1

Puedes depurar la aplicación ejecutándola en el dispositivo a través de Xcode.

Primero vamos a obtener los requisitos previos correctos. Necesitará acceso a una Mac con una versión reciente de macOS y Xcode instalada (preferiblemente la más reciente para cada una, macOS High Sierra 10.13.6 y Xcode 9.4.1).

Una vez que tengas preparada tu Mac, obtén acceso al código fuente de la aplicación. Abra el archivo xcodepoject para el archivo de proyecto con Xcode. El archivo de proyecto para un proyecto llamado Ejemplo se ve así en Finder:

UnavezquehayaabiertoelproyectoconXcode,supróximopasoseráconstruirloconéxito.HágalopresionandoMayús+Comando+roseleccionandoProducto→Crearpara→EjecutardesdelabarrademenúdeXcode.Unaconstrucciónexitosa(sinerroresdecompilación)seindicamedianteesteHUDquesemuestraenelescritorio:

Elsiguientepasoseríaejecutarseeneldispositivo.ConectesuiPhoneXasuMacconelcableLightning.VerifiquequeeldispositivoestéconectadoyseareconocidoporXcodecomosemostraráenelmenúdesplegabledeseleccióndedestinodeejecuciónenlabarradeherramientasdeXcode:

Unavezqueeldispositivoyelnombredelaaplicaciónseseleccionanenelmenúdesplegablecomosemuestraarriba,paraejecutarlaaplicación,hagaclicenelbotóndereproducciónenlabarradeherramientas,oseleccioneProducto→EjecutarenlabarrademenúsouseelatajodetecladoComando+r.

AhoralaaplicacióndeberíainiciarseentuiPhone.AsegúresedequesuiPhoneestédesbloqueadoyquetantolaMaccomoeliPhonehayanconfiadoentresí.DeberáagregarsuIDdedesarrolladordeAppleregistradoenXcodeparapoderdepurarlaaplicacióneneldispositivo(siaúnnolohahecho).

Suponiendoquetodolomencionadoanteriormentesehayaconfiguradocorrectamente,deberíaspoderiniciarlaaplicaciónentuiPhoneatravésdeXcodeydepurarla.

Deteccióndebloqueos:

Comomencionóquesuaplicaciónseestáfallandoaliniciarse,asumoqueustedestáincorporandolacompilaciónaldispositivoylaestáexperimentando.Paraidentificarelmotivodelbloqueoenelcódigodesuaplicación,puedeseguirlossiguientespasos:

  1. NaveguehastaBreakpointNavigatorenXcodepresionandoCommand+8oseleccionandoVer→Navegadores→MostrarBreakpointNavigatorenlabarrademenú.

  2. HagaclicenelbotónCrearunpuntodeinterrupciónindicadopor+quesemuestraeneláreadelabarradeherramientasinferior.

  • Seleccionar punto de interrupción de excepción ...
  • Haz clic fuera de la ventana emergente para descartar. Asegúrese de que el punto de interrupción esté habilitado para poder detectar el motivo del bloqueo.
  • ¡Buena suerte!

        
    respondido por el Nimesh Neema 30.08.2018 - 13:47

    Lea otras preguntas en las etiquetas