Per iniziare devi prendere alcune decisioni sul progetto che costruirai. Ospiterai il tuo server XMPP? Userete eJabberd, OpenFire, Prosody o qualche altro server XMPP? Volete pagare una società che ospiti il server per voi? Se vuoi usare una soluzione ospitata, spesso ti forniranno un qualche tipo di SDK.
Se vuoi seguire la strada dell'open source, costruirtelo da solo, posso raccomandarti caldamente XMPPFramework di Robbie Hanson. Ha tutto il necessario per interagire con il server.
Stavo lavorando su un progetto cliente e abbiamo finito per usare questo plugin commerciale open source. È basato su XMPPFramework ma include un'implementazione XMPP completa basata su eJabberd e ha un sacco di caratteristiche standard - integrazione del roster, presenza, MUC ecc... Si aggancia al Chat SDK gratuito (licenza MIT) per iOS. Mi piace perché è completamente open source e si basa su XMPPFramework che è un po' uno standard industriale.
Anche se queste librerie sono scritte in Objective-C, potete semplicemente importarle in un progetto SWIFT usando un file di intestazione di collegamento.