Why I Don’t Write Native Apps

Xcode sucks. That’s why.

Seriously.

This evening I thought, “Hmm, maybe for my next project I’ll see about writing an iOS client for my turn based game server.” So I started looking at a Swift tutorial (the language irritates me so far, but that’s just because so far all the syntactic sugar is solving problems I don’t actually have) and it didn’t seem too difficult. So then I went looking for a PGP library that would work with Swift, and I found one.

So then I cloned the project to my Mac and tried to build it. Build failed. Why? Well, it turns out that I needed to install a utility called xcpretty. No idea why, but that was easily solved. Then the build failed again. Why? Because some $@%! Ruby script wouldn’t execute. (Ruby? WTF? I thought this was an Objective C or maybe Swift compiler!) So then I had to get all comfortable looking for what Ruby wanted. Three scenes of Thor: Ragnarok later, I figured out to gem install xcodeproj and now the build goes a bit farther, but now I’ve got another cryptic error message about how the link failed because the linker couldn’t find the OpenPGP ObjectivePGP framework. The framework that the project is supposed to build.

You know what happens if I have a project open in IDEA and it’s missing a dependency? The missing dependency is underlined in red and the IDE will pop open a window where I could locate the missing thing. You know what happens in Eclipse, with the same situation? Same thing. MPW? Xcode? Nah. Apple’s developer tools reckon that it’s enough just to say, “Nah, that didn’t work.” User-hostile and user-abusive interface.

So.

Xcode sucks.

Published by pirateguillermo

I play the bagpipes. I program computers. I support my family in their various endeavors, and I enjoy my wonderful life.

3 thoughts on “Why I Don’t Write Native Apps

  1. And after all these years and all the bullshit Apple spouts about how devoted they are to their developers, XCode still crashes on a regular basis. First, make it stable, then add bells and whistles. And when in Gods name are project files going to merge correctly in git. Or string files. Or storyboards. Oh yeah, xcode is only for lone developers. If you have more than one person on your team, go fuck yourself. Such a lovely development environment.

  2. Yeah – xcode is a tool to write ios and MacOSX apps from scratch. It is not a tool to migrate other projects into.
    Cocoapods is a horrible unsupported hack that happened because Apple can’t be bothered supporting 3rd party libraries. I started using it because it seemed like it’d do something helpful and because I use ruby all the time. I regretted it. If I had to do it over again, I’d avoid ‘pods and go with carthage: http://drekka.ghost.io/cocoapods-vs-carthage-part-ii/

    But you’re right – xcode not supporting 3rd party libs is horrible and pretty unforgivable.

    I don’t think I’ll have to do it over again. I like my languages super dynamic, and swift is another C++/C# ism. I guess if I needed a job then I might hold my nose and do swift, but it wouldn’t be my first choice. And maybe they’ll get around to adding super-dynamic runtime stuff, but I doubt it.

  3. Did you look around to see if there is a PGP lib in ObjC? Might be less pain. I still feel like Swift is not fully baked yet. And it does seem to be going the way of C++. I really like ObjC.

Leave a Reply