2011-12-05 11 views
13

posso aprire con successo la porta seriale di iPhone/iPad in versione inferiore a iOS 5. con l'uso diCome posso aprire la porta seriale del connettore Dock a iOS 5.0.1

open("/dev/tty.iap", O_RDWR | O_NOCTTY | O_ASYNC))

ma ho ricevuto l'errore "Operazione non consentita" in iOS 5.

(ho usato il Serial Programming per comunicare accessorio e iPhone)

C'è qualcuno ha idea su questo.

Grazie.

+0

Si trova su un dispositivo jailbroken? Non si dovrebbe avere accesso diretto alla parte '/ dev' del filesystem dall'esterno della sandbox di un'applicazione iOS in circostanze normali. –

+0

Yaa il suo dispositivo jailbroken. ma non riesco ad accedere a/dev in iOS 5 – Raj

+0

@Raj: hai risolto il problema? Ricevo anche l'errore "Operazione non consentita" quando provo ad aprire /dev/tty.iap su un iPod Touch jailbroken con iOS 5.0. – newenglander

risposta

2

Poiché anche per me non funziona, penso che Apple abbia bloccato l'accesso seriale su iOS5 +. Stefan Esser (@ i0n1c su twitter) ha appena parlato di questo durante una conferenza sulla sicurezza. Sto aspettando le diapositive, quindi sappiamo cosa è successo alla seriale

+0

Qualcosa di nuovo qui? – newenglander

+0

sì guarda qui a pagina 42 http://antid0te.com/CSW2012_StefanEsser_iOS5_An_Exploitation_Nightmare_FINAL.pdf –

+0

um, non seguo abbastanza (iOS newbie) ... potresti spiegarci un po '? – newenglander

0

Ho ricevuto lo stesso errore ed è stato in grado di risolverlo inserendo l'app nella directory in cui le app Cydia vanno piuttosto che dove Xcode lo inserisce automaticamente (Trovato questo suggerimento nel secondo link in questo relativo/identico post).

0

Non sono sicuro che tu abbia funzionato, ma da quello che ho letto non puoi accedere alla porta seriale dell'iPhone per comunicare mentre la tua app si trova nella sandbox. Con sandbox, intendo quando fai clic su "Esegui" in Xcode e trasferisci la tua app sul tuo iDevice, l'app risiede in un ambiente sandbox. Questo ambiente impedisce alla tua app di accedere a cose come la porta seriale /dev/tty.iap all'interno del connettore dock. Una soluzione che ho letto è copiare l'app /Applications/ che è un collegamento alla posizione /var/stash/Applications.XXXXXX/ che dovrebbe portare l'app fuori dall'ambiente sandbox e dargli l'accesso a /dev/tty.iap Fammi sapere se questo funziona per te in quanto questo è qualcosa che alla fine avrà a che fare con l'app che sto sviluppando.

Problemi correlati