Yep, developing for iOS is the worst experience ever.

You need a mac (or just the os on dual boot), this is a requirement, there is no way to develop iOS apps in windows or linux.

Also, objective-c is pretty ugly (rather cool but very, very ugly). Message passing rather than the usual parameter concept.

Since its pretty much mac-only, the entire language, you're basically forced to become an apple-only dev. Nobody else uses the language, it'll only ever come in useful to make iOS apps (smart move by apple).