I got my start programming with HyperCard and CodeWarrior when I was in elementary school, and I have been developing software for Macs ever since. I used to rock MacOS Toolbox, Carbon, and Cocoa, and ResEdited harder than any person alive. I had such fun and always believed that the Mac was the best platform to develop for on the planet. Not anymore.
In the newest versions of OSX it actually makes you find a hidden checkbox buried deep in the system prefs to even RUN software that isn’t blessed by Apple and their minimum $100/year developer account. I was shocked and horrified when I discovered this, but OK. Whatever.
What do you need to distribute some software for the Mac platform nowadays? Well, basically you need to submit it to the Mac App Store. Which means your application must conform to the guidelines some dickweed in a suit thought up.
My software that I want to distribute is a nifty visualizer for iTunes. I didn’t create it, but I did put considerable effort into making it build properly on the latest version of OSX and fixed up the iTunes Plugin interface (a wonderful Frankenstein monster of code known as “Objective-C++” – don’t get me started). All I want to do is share this cool visualizer with people. I just pay Apple a paltry $100 and then I can put it on the Mac App Store, right?
Ohhh haha no.
- 2.15: Apps must be self-contained, single application installation bundles, and cannot install code or resources in shared locations
The iTunes plugin directory is a shared location, so I can’t submit anything to the Mac App Store that installs a plugin for their software. Even though all I want to do is fix the lack of interesting visualizers that ship with iTunes, their own policy defeats me.
Yes I can see Apple’s position – I assume that they don’t want people purchasing software that modifies the carefully crafted hugbox experience of using Apple products. Some rogue developer might make a crummy plugin that crashes iTunes and then they’ll get blamed for iTunes being unstable. The low regard Apple holds its users in is clear to me.
To their credit, a gentleman from Apple did phone me up to follow up with resolving my application’s status. However the gist of the conversation was that I should make a standalone application that does something useful, and have a link to a website where people can download the plugin installer if they so choose. It is a reasonable compromise within the framework of this absurd rule, but I really don’t have time to do that shit. I just want to put my stupid plugin installer on their app store.
It’s their prerogative to shit on developers, and it’s mine to give up on encouraging this disdainful treatment of us. I’m going to build a standalone physical visualizer device based on this code and Linux and sell that instead. Apple and their byzantine bureaucracy can kiss my ass.