I think you can also build and test iOS apps on Windows with this iOS Build Environment (but you need a jailbroken device):
http://www.pmbaty.com/iosbuildenv/
It lets you code in MS Visual Studio and compile to a .deb/.ipa. Then you transfer it to your device and run it. A bit hacky, admittedly. In the end you still have to sign and submit the app on a Mac, but at least the development is all done on Windows.
I also came across Dragonfire-SDK and one or two other iOS remote compilation/signing services, but this looks like it'll work better for coding directly in Obj-C.