Xcode 8.x is killing me

Let’s start by doing something apparently nobody dares to do at Apple: open the Mac App Store, and delve into the Developer Tools category. The first app is also the one with the lowest ratings, about 2 stars if we’re generous at the time of writing. It is: Xcode. Read the first 10 or 20 reviews, and you will get the general feeling: a piece of shit. I work in Xcode everyday. Every. F$&@ing. Day. The pain in now so intense I feel like I’m back on Eclipse some 10-12 years ago. I don’t want to speculate on what is happening in Cupertino, it is just not understandable for common mortals how a multi-billion dollar company has released a turd like that while claiming to love its developers. How did it pass QA? Are Apple engineers even eating their own dog food?

it shouldn’t be hardware related

I do travel a lot. And spend a lot of time in traffic. For that reason, I went for a MacBook One last year, high specs, it is highly portable and, honestly, powerful enough for what I am doing. That is, developing xRapid, which is based on digital image processing and artificial intelligence. If i can crunch those 500 or so files in Xcode, I guess that it is good enough for any app that does not involved heavy OpenGL computations, i.e. most modern games. Thinking about the current shortcomings of Xcode, I came to one conclusion: it should run on the lowest spec’ed computer that Apple sells at the moment. And by running, I mean it should be comfortable. So, going to QA questions, who is running a 11″ MBA at Apple and testing Xcode on that machine? No one. It’s just not possible someone is doing that and letting it go through, version after version. You will argue this is not a development device? I can assure you I know more than one developer who has gone with the ultraportable solution, because… it’s ultraportable. And those are some damn good laptops.

Charybdis and Scylla

One of our biggest collective woes is always ignored it seems. When we get comfortable working around the kinks and shortcomings of a Xcode version, probably around February or March, we enter hell again during the summer. I defy anyone at Apple to name me one single developer who hasn’t gone through a partial or total loss of his storyboard by updating from version 7 to version 8 of Xcode. I personally waited for the final release of Xcode 8 before installing it, to see that 1- I got a whopping 150 new warnings by opening my project which had zero before, and 2- all my constraints in IB had gone missing. I wish I could say I was surprised, but the same crap happens every year. Has anyone anything good to report about IB/Storyboard this year? No? Then I respectfully suggest you fix it.

It now takes some 10 to 30s opening a storyboard. It opened instantly in Xcode 7. And don’t get me wrong, Xcode 7 had its string of problems, so did version 6… I am not even discussing the interface which remains to this day clunky, but we have all learnt to deal with it and developed habits that let us “work” proper. Still. New is supposed to be better, so how come I cannot open a SB these days without digging deep into my Mac’s resources? To make sure, I tried to open the same file on my 2013 MBP. Know what? Apple did really good trying to reduce the fan noises, because when I’m opening a SB with some 5 view controllers in it, the fan kicks in like if I were converting a video in handbrake.

version control is broken

When you are competing for the title of the worst IDE of the year, breaking version control is a good thing. Otherwise, you should avoid it. Developers, please raise your hand if you have your project somewhere in /Documents, let MacOS deal with iCloud backup, and Git manage your version control? I thought so, I’m not the only one in that case. Now raise your hand if you need to push dummy commit because you’ve only opened/closed a storyboard, without making any changes to it? I thought so too. Same exercise if you get a spinning beach ball while pulling changes from your server? Yep. When we were discussing it with our team last week, I was bitching that Git was broken and then we quickly came to the conclusion that since it was running perfectly for us before Xcode was updated, we were looking at the wrong culprit. The culprit is our development environment. And hardware-software integration: my @$$.

When is the last time you did not have to force quit Xcode for a day? When did you last restart your computer because you couldn’t identify which process was locked irremediably in Monitor?

Here is one kicker: 5 years ago, I was restarting my Mac about once a year. Just once. To update OS X.

should we stop using Apple tools at all?

I have that problem: I am old enough to remember how painful it was to mount view controllers manually, fully in code. But I also remember that, even though it was long and tedious, once it was done and worked properly, it was done! I did not get some warnings telling me that my navigation bar was wrongly dimensioned even though nothing was changed, I did not get my springs and struts missing or their values changed… with multiple device sizes now, it seems quit impractical, if not impossible, to handle in the same way, but… is the time i am spending dealing with Xcode and storyboard generated errors worth it? Wouldn’t I be better off just spending the time coding the interface completely and be done with it all at once?

just fix it, please

Let’s be clear, I am not asking for a new version of Swift or objective C, nor new functionalities or options, all would be the proverbial bandaid on a wooden leg.

I am going to try two other tools for now: AppCode, from JetBrains, and Microsoft VS Code. That’s right. I’m that desperate. Or rather, I’m at the point where I can see no trouble with wasting time trying to learn another IDE because I’m wasting so much time on my current IDE. And that, my Friends, that, is probably the worse thing I could say about the current state of Xcode.

Xcode 8.x is killing me

Leave a comment