2010-08-06 17 views
30

Me falta algo obvio o no hay forma de depurar una aplicación iOS que utiliza un accesorio externo que está conectado a través del dock de 30 pines sin usar una carga de registros etc. Quiero poder usar cosas como puntos de interrupción e instrumentos.Depuración de una aplicación iOS con un accesorio externo conectado a través del Dock

¿Hay alguna manera de depurar remotamente tal vez, a través de Wi-Fi, Bluetooth?

Nota: Sí, me hizo esta muy recientemente y lo he borrado porque pensé que encontré la respuesta .. pero la respuesta fue sólo Instruments tiene el apoyo a través de Wi-Fi .. no depuración de Xcode. Así que la pregunta aún permanece ...

Y así ...: Dado que no he tenido mucha suerte para encontrar la respuesta, y nadie me ha dado una respuesta todavía - entiendo que es un gran gordo NO. :(

hace que me pregunte ¿Somos sólo esperaba que adivinar mágicamente donde se producen errores, o ingrese a la mierda de todo mientras lleva a cabo nuestros conectores de base, moviendo continuamente hacia atrás y adelante entre el dispositivo y el accesorio?

plazo para presentar un informe de error supongo.

+0

Es vergonzoso que Apple todavía no tenga la depuración wifi para iOS (después de aparentemente intentar agregarlo varias veces y luego darse por vencido). Duplique esto con el hecho de que iOS 6.1 parece haber cambiado algo fundamental en el marco runloop/streams de entrada/EA y ahora mi biblioteca EA cuidadosamente escrita ya no funciona. Sería terriblemente bueno tener un depurador ahora mismo. –

Respuesta

20

En CES hoy, hablé con un desarrollador de Wahoo Fitness que hace un accesorio ANT + para iPhone. Tuvieron el mismo problema, pero encontraron una solución.

Encontraron un extensor de muelle de paso que tiene un puerto mini-USB. Usaron el puerto mini-USB para la depuración mientras el accesorio estaba conectado.

El producto que estaban usando es http://www.cablejive.com/products/dockStubz.html

This blog habla de IOS de depuración remota con un accesorio de base adjunta

+3

¿Puede describir en detalle cómo Wahoo Fitness logró esta hazaña con el producto dockStubz? Simplemente lo intentamos nosotros mismos y el producto NO permite la conexión simultánea a la MFI y Laptop para la depuración de Xcode. –

+0

Actualmente estoy usando la solución de Pete para depurar en xcode mientras tengo un accesorio conectado. El dockStubz está conectado al iPhone. Un mini cable usb está conectado desde el dockStubz al mac mini. Esto permite a xcode ver el iPhone y un accesorio puede conectarse al dockStubz. – vee

+0

También es interesante observar que Xcode 4.2 permite la depuración a través de Wi-Fi, aunque todavía tengo que hacer que funcione ... –

2

Después de más investigación, y habiendo visto que la gente tenía que hacer el envío de cadenas a través de Wi-Fi para evitar esto, estoy concluyendo la respuesta es no.

I han presentado una solicitud de error para esto.

Mientras tanto, parece que el registro de Wi-Fi y el registro de texto en el dispositivo serán el camino a seguir por el momento.

1

Aquí está mi comprensión de por qué sólo el protocolo USB funciona para algunos accesorios externos y no se hace por otra accesorios externos. Parece un problema fundamental, sin un árbitro, dos maestros no pueden hablar con un solo esclavo por USB, un protocolo Maestro/Esclavo en serie. Entonces XCode es un maestro, el iPhone es el dispositivo esclavo. Si el accesorio externo también es un maestro, uno no podrá conectar el iPhone (esclavo Xcode) al segundo maestro (el accesorio externo).

probablemente la clave Wahoo para el iPhone" es un dispositivo esclavo y por eso la solución dockStubz trabaja para un accesorio externo de este tipo.

He probado el dockStubz. No funciona para mi accesorio externo. Como se sospechaba , el protocolo USB no se puede utilizar para tener dos dispositivos maestros que controlan un solo dispositivo esclavo. Intentar conectar un Mac (maestro) (a través del mini USB) & un accesorio externo (maestro) (a través del conector de 30 pines) para el iPhone 4 (Esclavo) hace que el iPhone entre en el circuito de & conecte de nuevo.

El siguiente aspecto también es prometedor, aunque caro: digi.com/support/kbase/kbaseresultdetl.jsp?id=485.

¿Alguien ha tratado de usar conectores USB a Ethernet y usa un enrutador para rutear las solicitudes de dos maestros (XCode & External Accessory) al esclavo (iPhone)? Me dirijo a Best Buy para comprar cables USB a Ethernet y conectar los tres a mi enrutador IP. Informará si funciona.

Esto es lo que se necesita: http://www.bestbuy.com/site/IOGEAR+-+USB+Ethernet+Extender/9614781.p?id=1218131339965&skuId=9614781&st=USB%20to%20Ethernet&cp=1&lp=1

http://www.frys.com/product/6103339

  1. Así que conectan XCode MAC utilizando el extremo macho en la ranura USB de su ordenador. . Use un cable de ethernet para conectar esto a un enrutador.
  2. Conecte el iPhone a la parte hembra del conector de engranajes IO. Conéctelo al enrutador a través del cable de ethernet.
  3. Conecte el accesorio externo con el conector macho (adaptador USB de red de Sabrent a Fast Ethernet). Conéctelo al enrutador.

Todavía estoy investigando si esto funcionará. Solo ordené las partes. Lo recibirá el viernes & se informará en ese momento.

Actualización: El extremo IOGear macho consume demasiada corriente cuando se conecta al enrutador. Además, el extremo hembra no puede cargar el iPhone cuando está conectado al enrutador incluso cuando se suministra una corriente USB de 5V.

Intentamos conectar directamente el iPhone a la ranura USB del enrutador (utilizado para impresoras). Carga el iPhone. También usé un adaptador de red USB a Fast Ethernet (BestBuy tenía uno para conectar Wii a través de USB) para conectar la Mac al enrutador. Se conectó a Internet pero no pudo encontrar el iPhone. En la lista de clientes del enrutador, no veo ninguna entrada para el iPhone. Entonces este experimento fue un fracaso a menos que alguien tenga otros indicadores.

+0

Estoy teniendo el mismo problema ¿Encontró una solución? – Ptitaw

+0

Estoy 99% seguro de que la solución dockStubz solo funciona para accesorios que usan UART como su transporte iAP. –

3

Puede conectar el accesorio externo a otro dispositivo iOS (no al que está conectado a la Mac que ejecuta el depurador Xcode). A continuación, haga un túnel de todos sus mensajes de EA Framework desde el dispositivo conectado como accesorio al dispositivo que ejecuta la aplicación que se está depurando a través de un par de sockets wifi. Mire el código para los mensajes del acelerómetro de túnel desde un dispositivo al simulador de iOS (un truco común para depurar el código del juego en el simulador) para ver un ejemplo de cómo se podría hacer esto.

+1

Esto suena interesante. ¿Qué tal algunos más detalles o enlaces? –

Cuestiones relacionadas