Depuración en Apple Watch real

Actualicé mi aplicación para Apple Watch, pero debería haberlo sopesado demasiado y ahora definitivamente es lenta. No puedo entender las razones de esta desaceleración, así que me gustaría depurar la aplicación, pero no sé cómo hacerlo porque en la aplicación de simulación funciona normalmente, las desaceleraciones se manifiestan solo en el dispositivo.

Intenté ejecutar la aplicación directamente desde xCode en Watch pero una vez que xCode lanzó la installation de la aplicación en Watch, detiene la ejecución, por lo que no puedo ver qué sucede mientras se ejecuta (por ejemplo, cuando ejecuto cierto punto de interrupción o de lo contrario nos hace depurar).

¿Alguien tiene una idea de cuál es la forma correcta de depurar un Apple Watch físico?

PS: por ejemplo, este código:

func clearScreen() { firstPicker.setSelectedItemIndex(0) secondPicker.setSelectedItemIndex(0) defaultLabels() } func defaultLabels() { feesLabel.setText(NSLocalizedString ("FEES", comment: "Commissioni")) clearAllMenuItems() addMenuItemWithItemIcon(.Decline, title: NSLocalizedString("CAN_CEL", comment: ""), action: "clearScreen") if DefaultParameter.shanetworkingInstance.wishMode == true { addMenuItemWithImage(UIImage(named: "will")! , title: NSLocalizedString("WILL_RECEIVE", comment: ""), action: "willWishButtonPressed") receivedLabel.setText(NSLocalizedString ("DESIRED_AMOUNT", comment: "")) } else { addMenuItemWithImage(UIImage(named: "wish")! , title: NSLocalizedString("WISH_RECEIVE", comment: ""), action: "willWishButtonPressed") receivedLabel.setText(NSLocalizedString ("RECEIVED_AMOUNT", comment: "")) } } 

tarda unos 7 segundos en ejecutarse …

Suena como un error watchOS familiar para mí, así que supongo que no hiciste nada malo.

Debes tratar de eliminar la aplicación de reloj de tu reloj con la aplicación Watch de tu teléfono, y luego volver a ejecutarla.

Definitivamente necesitará algo de paciencia, así que pruébelo varias veces si no funciona. Tuve la experiencia de que funcionó después de algunos bashs.

No recomiendo intentar depurar tu aplicación Apple Watch presionando el button Ejecutar en Xcode. Es muy impnetworkingecible si funciona o no. Así es como depuré el Apple Watch y funciona para mí cada vez:

  1. Conecta tu iPhone a tu computadora con Xcode
  2. Ejecuta tu aplicación en tu iPhone desde Xcode
  3. Haga clic en el button detener en Xcode
  4. En tu Apple Watch, asegúrate de que la nueva actualización de la aplicación se haya transferido (ten en count que si no realizaste ningún cambio en la aplicación de reloj, una nueva parece que no se copió en este momento).
  5. Lanza tu aplicación de reloj desde tu reloj (¡no hay Xcode todavía!)
  6. En Xcode, click "Depurar -> Adjuntar al process" y select el process de la extensión de su reloj. Tenga en count que verá un process tanto para su aplicación de reloj como para la extensión de reloj. Asegúrate de elegir la extensión de reloj
  7. En su reloj, toque sobre algún elemento de interfaz de usuario, como un button.
  8. Su aplicación de reloj tendrá un spinner de carga en el centro de la pantalla. Esta ruleta continúa hasta que el reloj se pueda conectar a Xcode. A veces esto toma unos minutos (¡alnetworkingedor de 3 para mí!). Cuando el spinner se detiene, entonces deberías poder depurar en Xcode normalmente.

El único truco es ser paciente cuando esperas a que Xcode se conecte en el paso 8. Definitivamente es lento hacerlo, pero te da mucha más información de performance que ejecutándose en el simulador.