Come "hey ho scritto un'app iOS, e parla con un server...in cosa è scritto il server?"
Frequentemente al server non interessa il client. Il server esisteva già e stava facendo le sue cose. Infatti spesso il server ha più pezzi di un servizio in diversi linguaggi. Un po' di codice C con un po' di colla Perl.
Si troverà spesso che il server è Java perché è una leangue popolare per scrivere server (non sono convinto che dovrebbe esserlo, ma lo è). A volte il server è solo un server web. Forse c'è ancora Java, ma potrebbe essere Ruby, o JavaScript (lato server). Anche C++ è popolare. Ci sono servizi che sono in gran parte COBAL o altri lashup polverosi per mainframe.
Nulla vieta che il server sia scritto in ObjC o Swift però, e se avrete solo client ObjC/Swift che possono essere utili, potreste usare NSSecureCoder o la nuova roba di serializzazione Swift per formattare i messaggi. Questo non è comune però (e se vi aspettate clienti non ObjC/Swift, mai, dovreste usare qualcosa di più comune per i messaggi come JSON).