Oh my god, yes!!
Even 5y into the app store it was terrible (compared to today). It was in many ways better/easier than other platforms at the time, but in many other ways worse/harder.
It required MINDBOGGLING more expertise and time to develop a crappy app from 15y ago that did 1/10th as many of the features you probably don't even realize all apps do (like behave properly when backgrounded, store your data to pick up where you left off, and truly 87 other things you probably don't see).
Because all those convenience apis didn't really exist yet. They were just realizing revenue from apps to start paying for these features (which many take several years to develop).
Honestly
look up how a programmer has to deal with something as trivial as dates. Say, find a date 6 days from another date.
You think that's as easy as adding 6*24*60*60 seconds to the first timestamp? Oh poor child no. No, no, no.
Look into the complexity of dates and calendars and it will turn your crap white. It used to be absurdly difficult to do it well. (For ONE locale! Look into the differences between locales and your white crap will scuttle under the bed and cry.)
If you needed to have consistent date manipulation it was a nightmare. It took absurd amounts of research and a ton of coding to do the simplest thing (say make this appointment repeating every Wed at 5pm, THAT is far more difficult than you can imagine, it goes well beyond simply checking for leap days, especially if you want it to be robust).
Apple recently gave us a convenience api that makes NONE of that knowledge or expertise necessary. It took a ton of their time, but now we just say, essentially 'give me a date one week from this date' or '1pm on the second weekday of the month 6mo from now for the user's current calendar locale'. I cannot stress how difficult that would be to do properly with custom code (you would almost certainly drop in a library built by somebody else's volunteer work, which probably would be full of bugs, possibly be insecure, likely have little or no documentation, or worse, wrong documentation, wouldn't have the same locale abilities, and perhaps would only have a non-commercial license. Actually you'd have to spend quite a few hours determinign which of 5 different public libraries might have the right balance of those trade-offs. Honestly this process of finding and using third party frameworks is FRAUGHT.). Like I said... 👻💩
Aside, don't take my word for it, check out what
Paul Hudson from HackingWithSwift has to say:
(And if you're interested in learning Swift and building an app, believe me it's the PERFECT time for it, because Apple has made it so incredibly easy. And Paul's Hacking With Swift is a wonderful place to start, even if you couldn't tell the difference between a Double and an Int, and have never done any programming in your life. Check out his "Unwrap" app which is a fun teaching tool for many of the very earliest programming concepts. If you find it fun, which you might!, his 100 Days of Swift course will get you building an app that actually does something within a few hours. It truly is miraculously more easy now!)
Back on topic...
Now the calendar convenciences were to be fair a relatively tiny amount of effort for apple. Probably not much more than 1,000 dev hours to design, implement, unit test, document, and prepare WWDC presentations for. So, likely this TEENY feature cost Apple no more than half a developer year, say in the ballpark of $50k (though probably that's low, because a large part of the design and architecture of even such a simple feature would be done by a very senior architect who makes a WHOLE lot more than $100k a year).
But hoo baby, does it save so much grief from app developers. So much so, that we all quit using our own brittle logic or external frameworks and just use
Calendar.current
to add/modify/construct dates and date components.
And most importantly this is nowhere near required to make an app work well in the AppStore. This is an invisible convenience that makes developers lives TONS easier and very slightly improves quality of apps.
And EVERY YEAR Apple puts many convenience features like this that probably have 10-20x that amount of effort. Usually one or two a year which have 100-200x that effort (like Async/Await).
If you don't believe this. If you don't get some inkling of the sheer scope of this work. I encourage you to watch some WWDC videos from the past year. Come back here and report at exactly 3pm on the second weekday of next month as measured in Manila. 🤣