www.screamingatmyscreen.com · 1h · discuss
I was fairly certain that I am done with Apple, Xcode and their developer experience. Yet here we are, having a CI job that needs to sign a binary. One thing I noticed using mostly web apps for my personal assistant is that I actually miss native apps. They just look and feel nicer. So, given that I cannot delete my dev account, why not use it and get a little app for my coding assistant going? I did most of my work for macOS and iOS in Objective-C, but I was there when Swift was released and SwiftUI took over. I actually ported an app that was previously featured in an AppStore category, so I caught up with recent development pretty quickly during the announcements as customer expectations were high and an Apple Watch app needed to be build. Back then I gave Swift and SwiftUI a lot of leeway. It was a new language, it was a new interface concept that clearly aimed to unify development for all Apple platforms and Storyboards were the bane of my existence, so anything but them was a quality of life upgrade. What I did not expect is how poorly literally everything aged. Especially Xcode feels like it is getting worse by the year — now we’re at version 27, and it doesn’t even let you specify a bundle identifier and storage location (happens on first save) when starting a new project. But that is kind of expected, Xcode never was a good IDE, it was the one you (kind of) had to use. It gradually gets worse I am not claiming that some of these issues were not my own fault. I did not spend any time catching up with changelogs and I pulled in some extensions I once wrote (like helpers for color management), and I did not upgrade them prior to getting to work. Okay, I get it. hex: is wrong. Easy. Global search and replace and we are good. But what feels absolutely not okay is the fact that type checking “takes too long” until I remove the wrong keyword identifier. I am not too upset, but it feels like one of those little things that simply should not happen and if anyone would actually care would not happen. It is really easy to put together a standard looking UI if you know the basic building blocks and what they are called. Most iOS apps are just a bunch of table views, list views, navigation controllers and tabbar controllers. Mix in the magic word segue to transition from one view to another and you can get through a basic bootstrap of an app with half an hour on Google. A small test for me was setting up Xcode and LMStudio to see how well Qwen3.8 does for basic tasks such as “write a test for x” - to make it short: not too well. I have not written a websocket client in Swift before and I find testing websockets annoying, so a few automated tests to make sure everything works cannot hurt. I guess Apple just gave up. Maybe they learned from their Siri failures that they are not an AI company, maybe they just do not care about developers and developer tooling and do not mind pushing you to other companies. I would have expected them to have their own agent. Did I mention that developer tooling really is questionable at best, but mostly just bad? But I do not want to sound like everything is bad. They finally have a package manager integrated that can download arbitrary code from the Internet, before feeding it into a hallucination box owned by a company that does not care about copyright. Okay, enough snark. The package manager actually works well and compared to what I remember the early 10s being like, I very much appreciate having one. As a little aside, I asked my wife for a logo. A stylized neon pink bunny with some zeros and ones. After reading the interface guidelines for icons she came to the conclusion she has to install Xcode and that at least three or four layers are needed to make the glass look work. Remember 512x512 pngs? If you want to see someone slowly descend into a bone deep hatred artists usually reserve for Adobe, watch a designer install and use Xcode. Getting the app to run on macOS was as simple as compiling and archiving it. For my phone I had to enable developer mode. Four separate messages that I have no more security features and basically can start posting my drives content to a public bbs later, the app also loaded there. I get the reason for the warnings, but nevertheless they were pretty annoying and very much useless to know what you are actually enabling or disabling. The app took me about 2 hours to write. It was not fun. Swift is in my opinion not a well designed language. But I got a little LBC icon on my phone, it works and it is more pleasant to use than the web interface… another case of a win is a win.