The client and server are independent. Don't worry if your client runs on iOS. The server can be implemented in any language, as long as it provides the services defined in the XMPP protocol.
Actually, you don't have to implement the server side yourself. There's already a bunch of server implementations that communicate with the clients through XMPP. The most commonly used one is Openfire.
On the client side, all you need to do is to send XML messages to the server and receive XML messages from the server. And obviously, someone already took care of that. There are XMPP client implementations too. Since I am a Windows Phone developer, I prefer Matrix. It provides simple client classes that communicate with Openfire servers. I'm sure you'll find the iOS equivalence to Matrix.
Good luck on your projects!