2012-02-21 14 views
5

Ho cercato di trovare esempi sulla comunicazione con dispositivi bluetooth su iOS e sono venuta a mancare. Come ho capito, SPP non è ancora supportato. Al livello più semplice, vorrei inviare un semplice segnale 1 o 0 al dispositivo bluetooth che sto creando. (È un interruttore bluetooth che accendere e spegnere qualcosa). C'è un modo per farlo abilmente attraverso i profili HID o HFP?Esempi di comunicazione Bluetooth per iPhone

risposta

2

Per quanto ne so, se il dispositivo esterno non è un dispositivo iOS, è necessario utilizzare External Accessory Framework per comunicare l'applicazione con esso. Pertanto, il dispositivo esterno deve essere certificato da Apple tramite il programma Made for Ipod (MFI). Spero che questo ti aiuti.

+0

Grazie. Conosci qualche esempio di utilizzo di questo framework? –

+1

Controlla questo link https://developer.apple.com/library/ios/search/?q=eaaccessory. Troverete la documentazione relativa al quadro accessorio esterno. Apple fornisce anche una demo di esempio per mostrare come stabilire una connessione con un accessorio esterno. L'esempio viene compilato ed eseguito, tuttavia è necessario un dispositivo esterno se si desidera testare le funzionalità dell'esempio fornito. Se si dispone di domande o informazioni su questo framework, contattarmi perché recentemente ho iniziato a sviluppare un'applicazione basata su questo framework. – rokridi

+0

Grazie mille! –

-2

NO. se il dispositivo è certificato o meno da MFi, è possibile connettere il dispositivo a iPhone se il profilo Bluetooth è HFP o HID (profili ordinari, non profili iAP). Pensa all'auricolare o alla tastiera Bluetooth. ha bisogno del marchio MFi su di esso da usare? NO. Mai.

+3

In realtà non è corretto: c'è una grande differenza tra ciò che iOS vedrà e riconoscerà e ciò che l'applicazione è autorizzata a vedere. –

+0

@Zeroxide: hai qualche codice di esempio per la connessione con un dispositivo esterno? –

+0

@Zeroxid: Come puoi connetterti a un dispositivo esterno con un profilo bluetooth HID? . Il profilo HID è utilizzato per l'input da tastiera. Il programma MFi deve avere bisogno di un dispositivo certificato MFi per stabilire la connessione e ulteriori comunicazioni. L'altro dispositivo target deve essere Low Energy, quindi è possibile utilizzare la struttura CoreBluetooth per la comunicazione. –

4

La risposta breve alla tua domanda è che puoi avere you can't connect to an arbitrary Bluetooth device, è possibile connettersi solo a un dispositivo Bluetooth che è arrivato attraverso il programma di licenza di Apple (cioè l'etichetta "Made for iPod/iPhone"). Dalla documentazione Apple:

Q: [Il framework degli accessori esterni consente] alla mia applicazione di comunicare con i dispositivi Bluetooth. Quindi, perché la mia applicazione non vede l'accessorio Bluetooth accanto al mio iPhone?
A: Il framework Accessorio esterno è progettato per consentire alle applicazioni iOS di comunicare solo con gli accessori hardware sviluppati nell'ambito del programma di licenza MFi di Apple.

quindi non c'è API pubblica per accedere a un dispositivo Bluetooth arbitrario all'interno di iOS: si deve passare attraverso l'accessorio quadro esterno di comunicare via Bluetooth, e la missione della EAF è "comunicare con dispositivi MFi," non "comunicare con dispositivi esterni arbitrari". Uno sviluppatore sufficientemente ingegnosa potrebbe probabilmente incidere qualcosa in là, ma -

  • si tratta di un impegno non banale
  • si è spettacolarmente improbabile per superare il processo di approvazione App Store

Quindi non c'è solo molta percentuale in esso - lo sforzo di farlo è improbabile per premiarti.

Se esiste già un dispositivo MFi che può essere forzato a fare qualcosa che si desidera, questa è probabilmente la migliore possibilità, a meno che non si passi alla procedura di approvazione/autorizzazione MFI, naturalmente. Se vuoi farlo, abbi e buona fortuna.

sto rispondere a questa domanda in ritardo perché la risposta di Zeroxide non è corretta (è possibile utilizzare un caso tastiera Bluetooth con il tuo dispositivo iOS a causa di Apple implementato tale proposito, che è diverso dal dare un percorso API pubblica a fare altrettanto) e trovo che la risposta di Rokridi sia incompleta, benché guidata nella direzione giusta.

Modifica: Un avvertimento è stato successivamente aggiunto alla pagina Apple collegata sui dispositivi Bluetooth Low-Energy. Quindi c'è una scappatoia, ma non è un grosso problema perché molto, molto pochi dispositivi Bluetooth LE sono stati effettivamente prodotti finora.

+1

L'articolo QA1657 sulla tecnica Q & A sopra citata afferma inoltre: "Gli accessori Bluetooth a basso consumo non sono interfacciabili con il framework Accessorio esterno e NON SONO NECESSARI PER ESSERE MFi compatibili. Invece, le app utilizzano la struttura CoreBluetooth per comunicare con gli accessori Bluetooth a basso consumo da iOS o OS X. " –

+0

Grazie per averlo indicato. Aggiornata la risposta. –

1

Se si desidera utilizzare il Bluetooth classico (non BLE), è necessario innanzitutto ACCOPPIAMENTO il dispositivo iOS al dispositivo Bluetooth (in Impostazioni). Se non puoi farlo, non puoi comunicare con la tua app.

+0

Ho abbinato la mia tastiera bluetooth con iPhone, sta funzionando bene. Quindi, come posso cercare e ottenere i dettagli del dispositivo usando ExternalAccessoryFramework –

Problemi correlati