With some tweaking and lots of sweat, it's probably possible to get gcc to compile your Obj-C source on Ubuntu to a binary form that will be compatible with an iPhone ARM processor. But that can't really be considered "iPhone Application development" because you won't have access to all the proprietary APIs of the iPhone (all the Cocoa stuff).
Another real problem is you need to sign your apps so that they can be made available to the app store. I know of no other tool than XCode to achieve that.
Also, you won't be able to test your code, as they is no open source iPhone simulator... maybe you might pull something off with qemu, but again, lots of effort ahead for a small result.
So you might as well buy a used mac or a Mac mini as it has been mentioned previously, you'll save yourself a lot of effort.