Hmmm, I haven't had a lot of issues with 4.x. Some crashes for sure, but this usually entails when I switch git branches and XCode tries to reload the project.
Some things the OP says that I don't really get:
* Crashes: not many, except like I said, sometimes when I switch git branches. But for the most part, it works for me. I use XCode on 2 different machines (home and work) and it pretty much works without issue. Maybe I'm lucky..?
* Managing the project files. Yah, I had to learn this one on my own. For the past few years I've started out with creating the XCode project first. Then I go into finder and start creating my own directory structure for things like resources/assets, libraries, etc. Then I drag these folders into the project so I can maintain the disk structure. When creating new controllers with xibs, I have to manually move the xibs out of the Classes dir (this is lame, for sure), into my resources dir, and then re-add to the project. This definitely is not ideal, but I know how this stuff works now and it's not hard for me to maintain.
* Simulator lag and weirdness: I don't really see this either. There's been a few times where I've had to restart xcode, but overall, I don't really see many simulator problems. Again, lucky maybe?
* iOS 4 vs. 5: yah, this is a little suck. My current project decided to use a baseline of 4.3, so no Stories, but we did get ARC. There's been a few minor things like presenting modal views which were different in 5, but I just created a category on UIViewController that gave me a simple isIOS5 selector and that made things fairly easy and clean.
* IBOutlet: After doing things the 'hard way' (coding up ui in the 3.x days), I switched over to IB for everything. I don't mind IBOutlet or IBAction at all. I think they're great. It would be nice to have everything automagically connected up when you drop the control like the OP says, but I don't see this as a big waste of time.
I'm not trying to defend XCode per say, but I guess I've been spared a lot of the horrors that others have experienced. This is good for me because I have zero tolerance for that kind of stuff and if it did happen to me, I'd prob write a blog post just like the OP did.
I do think Apple has a lot of work to do, particularly in speed and the annoying bug that loses code coloring and code completion. If the latter happens to you, here's how you can 'fix' it (this I do have to do multiple times during the day):
* Open up organizer
* Click the projects tab
* Select your project
* Where it says Derived Data, click the delete data button
This will clear out all the index and give you back your coloring and code completion.
Some things the OP says that I don't really get:
* Crashes: not many, except like I said, sometimes when I switch git branches. But for the most part, it works for me. I use XCode on 2 different machines (home and work) and it pretty much works without issue. Maybe I'm lucky..?
* Managing the project files. Yah, I had to learn this one on my own. For the past few years I've started out with creating the XCode project first. Then I go into finder and start creating my own directory structure for things like resources/assets, libraries, etc. Then I drag these folders into the project so I can maintain the disk structure. When creating new controllers with xibs, I have to manually move the xibs out of the Classes dir (this is lame, for sure), into my resources dir, and then re-add to the project. This definitely is not ideal, but I know how this stuff works now and it's not hard for me to maintain.
* Simulator lag and weirdness: I don't really see this either. There's been a few times where I've had to restart xcode, but overall, I don't really see many simulator problems. Again, lucky maybe?
* iOS 4 vs. 5: yah, this is a little suck. My current project decided to use a baseline of 4.3, so no Stories, but we did get ARC. There's been a few minor things like presenting modal views which were different in 5, but I just created a category on UIViewController that gave me a simple isIOS5 selector and that made things fairly easy and clean.
* IBOutlet: After doing things the 'hard way' (coding up ui in the 3.x days), I switched over to IB for everything. I don't mind IBOutlet or IBAction at all. I think they're great. It would be nice to have everything automagically connected up when you drop the control like the OP says, but I don't see this as a big waste of time.
I'm not trying to defend XCode per say, but I guess I've been spared a lot of the horrors that others have experienced. This is good for me because I have zero tolerance for that kind of stuff and if it did happen to me, I'd prob write a blog post just like the OP did.
I do think Apple has a lot of work to do, particularly in speed and the annoying bug that loses code coloring and code completion. If the latter happens to you, here's how you can 'fix' it (this I do have to do multiple times during the day): * Open up organizer * Click the projects tab * Select your project * Where it says Derived Data, click the delete data button
This will clear out all the index and give you back your coloring and code completion.