|
|
|
|
|
by BoorishBears
2424 days ago
|
|
It is not a defect. It is literally intentionally broken! Do you actually know this space? The modal example, it's to support new design language Apple is pushing, straight up breaks modals designed a certain (valid) way. Catalina removed XML exports used by music apps. There was no deprecation warning. Apple's recommended fix? Don't update if you need one of those apps. These are not defects, they are literally breaking changes intentionally made with no warning. I don't understand why all of you seem to be operating underthe assumption apps using "public APIs" just work with each OS update. It just doesn't work like that. They break and crash not due to defects but due to intentional changes |
|
Apple did in fact provide a method to share music between apps and some apps do take advantage of it. Do you really think that Apple didn't need to do a major overhaul of iTunes?
Of course it's Apple's advice and common sense not to upgrade your OS until the apps you use are updated to support it.
This is all modern software engineering 101.
As a developer there are a few expectations.
- depending on private method may break your code with any point release. The vendor has no obligation not to break code if you depended on a private API.
- If your code breaks calling a public method during a point release, it is a bug and the vendor has an obligation not to break public API's when releasing a point release.
- If the vendor makes a breaking change during a major release (x.0.0). It's the vendor's responsible to communicate the breaking change and give enough notice to developers/users about breaking changes so that either the developer can fix their code, the user can find a replacement app, and/or the user not upgrade.