2010-07-13 20 views
20

Desidero utilizzare CFNetwork e Bonjour in congiunzione per poter avere comunicazioni tra la mia app iPhone e un'app Mac. L'app su iPhone avrebbe un pulsante. Quindi sull'app Mac, ci sarà un'etichetta. Se il pulsante viene premuto sull'app iPhone, l'etichetta cambia sull'app Mac.Integrazione CFNetwork e Bonjour per l'integrazione da iPhone a Mac

C'è codice di esempio là fuori che può fare questo? In caso contrario, qualcuno può guidarmi nella giusta direzione?

Grazie!

risposta

44

Bill Dudney ha creato uno sample iPhone Bonjour application per dimostrare come utilizzare Bonjour per rilevare e connettersi a due iPhone. I ported this example to the Mac per dimostrare come eseguire Bonjour discovery tra le due piattaforme. Bill fornisce anche un bel writeup di come ha messo insieme il wrapper Bonjour utilizzato in questo esempio.

Questo è un esempio molto semplice e con i client Mac e iPhone fa qualcosa di simile a ciò che si desidera. Dovrebbero essere necessarie solo piccole modifiche.

Io mostro questo in azione nel video per la sessione di Networking del mio Advanced iPhone Development course on iTunes U.

+2

@Elijah Legno - semplicemente cambiare l'SDK di base a 4,0 (o qualunque sia il vostro ambiente di sviluppo corrente supporta) e il suo esempio deve compilare ed eseguire bene. –

+1

@BradLarson Quale sarebbe il modo migliore per salvare il server selezionato in modo che l'utente non debba scegliere nuovamente il server al prossimo utilizzo? Vorrei che la mia app fosse in grado di ricordare quale server l'utente ha scelto e si connette automaticamente a quel server in futuro/o al prossimo avvio, finché l'utente non decide di scegliere un altro server. Qualche idea? Questo mi ha perplesso. Grazie. – 0SX

+0

Qualcuno sa se questo sarebbe consentito nell'app store iOS? –

4

Qui ho creato alcune semplici applicazioni di esempio che scambiano i dati tra iPhone e iMAC.

https://github.com/boobalaninfo/Bonjour-iOS-MAC-Apps

+0

Un lavoro fantastico con questo .. Volevo solo sapere che è possibile controllare gli eventi dell'interfaccia utente tra queste 2 app create per l'app Mac e iOS? Qualcosa come quando clicco ad un certo punto (diciamo x-origine: 100, y-origine: 200) nella mia app Mac, manderò quell'evento click all'app per iOS ed eseguirò il clic nello stesso punto della mia app iOS. È possibile ? –

+0

Ovviamente è molto possibile. Invia x, y posizione come messaggio e il terminale iOS riceve e intercetta il messaggio per posizionare l'evento – Boobalan

+0

Puoi inviarmi un esempio se possibile su come farlo? In effetti, posso inviare un messaggio dall'app Mac all'app iOS utilizzando sessione socket, ma solo il problema è che l'evento click sul display dell'iPhone è indipendente dall'applicazione attualmente in primo piano. Potete darmi qualche esempio di codice che faccia questa funzionalità? –