5 ms·
I used to work on some professional software that shipped a macOS version. macOS updates were, and I suspect still are, awful, and it's Apple's fault. Every sin
by VyseofArcadia 3y ago
I used to work on some professional software that shipped a macOS version. macOS updates were, and I suspect still are, awful, and it's Apple's fault. Every single update we would beg our users to please, please, please, hold off on updating until we put out an update. Users would always rag on us on the forums because they assumed we were just sloppy and "why doesn't Windows have this problem".
Because Microsoft doesn't subtly change the behavior of half a dozen APIs every release without warning anyone, that's why. Don't get me wrong, I despise MS, but as a developer, at least they've got that going for them.
Yes I know that's not the specific issue here, but I promise you my old company is still dealing with this problem every single release.
- yardie 3y agoI'm an old dinosaur of a developer but I do remember enough XCode to know that it would throw enough warnings when API calls were going to be deprecated. And you could ignore those warnings and ship your binary. But eventually those warnings come true and your binary won't work in later OS releases. Microsoft was a dream to work with. They more or less made sure old API calls continued to work long after they stopped developing it. Usually just some wrapper code in their libraries to manage it automagically. Part of it I feel is Apple is quick to cut insecure APIs while Microsoft will let them linger for a while and try and patch them.
- djxfade 3y agoThis situation is different. This isn't about some deprecated API, but Apple changing the behaviour of the API, with no prior warning. Even the beta releases of 14.4 didn't implement this change, so no third parties actually got a chance to detect this. It's a really bad situation.
- yardie 3y agoGot it, I think I understand the griping now. I've been a Mac user for decades but Sonoma is the 1st major release I can remember where everything is going to shit, even 9.x -> OSX wasn't this bad.
- tuyiown 3y agoI'd really like to have some specific example, because while apple never kept much backward compatibility, I've not eared of or being impacted much by supported API changes when used in intended ways. The actual thing you can praise MS for is to respect the «all observable behaviors» in their backward compatibility or support. Apple never ever gave in that way, only that you are supposed to use things as expected or expect to be punished. Not that they have stellar track records on that front either, there are tons of old code that still work out there.
- VyseofArcadia 3y agoThe specific example I remember (because I'm the one that fixed it) had something to do with how Image I/O handled TGA images. I don't remember all the details, but it was definitely not the case that we were misusing the API. Per the documentation everything had been above board, and everything was still above board. The images causing the issue were well-formed. Just something subtly changed with the CGImageSource API for TGA images specifically that required finding a workaround. Why that customer was using TGA images in their workflow in the 2010s I'll never know.
- tuyiown 3y agoHa. I can see how macOS can be an awful platform for those kinds of requirements. Thanks for your answer.
- AdamN 3y agoThe beta period is at least a month long and Xcode shows you deprecation warnings years ahead on this stuff. I get that there are corner case bugs that might happen once every few years but if this is happening 'every single release' your users are right.
- VyseofArcadia 3y agoNot a deprecation. I'm talking about undocumented changes in supported APIs. Every single release may have been an exaggeration, but I was at the company three years and saw this happen more than once.
- Terretta 3y ago> Every single update we would beg our users to please, please, please, hold off on updating until we put out an update. This order of operations is wrong.