2011-08-08 11 views
6

Mi empresa está desarrollando un accesorio para iPhone que requiere una tasa de conectividad relativamente alta para el teléfono. Debido a las limitaciones de MFi (comunicaciones USB 2 en el modo HOST justo alrededor de 100 Kbps), estamos considerando alojar una red WiFi ad-hoc en nuestros accesorios y conectarnos a esa red con el WiFi del iPhone.iOS WiFi red switching

Esto podría funcionar muy bien en muchos aspectos, excepto que parece que no podemos encontrar una forma (aprobada por Apple) de cambiar de forma programática la conectividad WiFi del iPhone. Lo ideal es que la aplicación se conecte automáticamente a la red del accesorio cuando sea visible, y luego se vuelva a conectar a la red preferida del usuario cuando no sea visible/necesaria.

Conocemos el marco MobileWiFi, que se ajusta a la factura técnica, pero no aprobará el proceso de aprobación de Apple.

¿Alguien puede sugerir una manera de lograr nuestro objetivo? Quizás hay una vista del modelo de sistema que se puede invocar para permitir al usuario cambiar las redes WiFi sin utilizar directamente las API privadas.

Soluciones creativas ¡bienvenido!

+1

Has hecho alguna prueba que demuestre que solo obtenías 100 Kbps usando el modo de host USB con MFi. Estoy en contra de un problema similar, pero he oído que puede obtener ~ 500KBps (evidencia anecdótica solamente) – OneGuyInDc

Respuesta

3

Lamentamos ser el portador de malas noticias, pero la respuesta definitiva es no. El principal problema con su enfoque no sería ni siquiera el proceso de aprobación de Apple, sino la imposibilidad de acceder a Internet mientras está conectado a su dispositivo. iPhone ni siquiera intenta usar datos móviles cuando está conectado a wifi, ya sea que el wifi esté conectado a Internet o no.

Puede solicitar bug report solicitando estas funciones y orar para que Apple lo oiga, lo que probablemente nunca ocurra en este caso.

Sugeriría ir a bluetooth, pero si el usb no es lo suficientemente rápido para ti, adivina que tampoco es una opción.

Eso te regresa al punto de partida y va usb. O distribuyendo su aplicación a través de Cydia.

+0

Gracias por la respuesta, fichek. Es una lástima que Apple no permita al menos la capacidad de presentar un diálogo del sistema para esto. - ¡Para tu información, hicimos algunas pruebas con respecto a la conectividad celular cuando estábamos en una red WiFi "muerta" (sin acceso externo) y funcionó bien! // ¿tiene por casualidad alguna información del mundo real sobre las tasas de transferencia de bluetooth? ¡Gracias! – mdavis

+0

¿De verdad? Nunca lo probé exhaustivamente, pero cada vez que mi adsl muere (y eso solía suceder * muy * a menudo), no puedo acceder a nada hasta que mato el wifi o aparece adsl. Lo siento, no podría ser más útil. –

+0

¡He oído lo mismo, pero en mis pruebas funcionó bien!(Conectado iPhone WiFi a una red WiFi Ad-Hoc no enrutada - ¡3G funcionó bien!) Tendré que probar esto de nuevo. Eso definitivamente sería un factor decisivo. – mdavis

7

Odio decirlo, realmente no hay forma de hacerlo. Puedo pensar en dos soluciones fáciles.

1. Haz que esté disponible en Cydia para dispositivos con jailbreak. AirServer acaba de hacer esto.

2. Menos elegante, tiene UIAlertView con un cambio al panel wifi de la aplicación de configuración que se muestra cuando el periférico está conectado y desconectado. Muy parecido al location settings prompt.

3. Haz una aplicación para Android.

Apple, eres un dolor en el culo.

+0

Gracias por la respuesta. La opción n. ° 2 es algo que hemos considerado. ¿Hay alguna manera de cambiar directamente a la sección de configuración de WiFi de la aplicación de configuración específicamente? – mdavis

+0

Me temo que responder a eso tampoco es así. –

+3

a partir de iOS 5.0, puede usar lo siguiente para navegar automáticamente a la configuración de WIFI: [[UIApplication sharedApplication] openURL: [NSURL URLWithString: @ "prefs: root = WIFI"]]; (muchas otras preferencias están disponibles aparte de WIFI). – paiego

Cuestiones relacionadas