One question: Did you have to modify or remove any features you wished to include in order to get accepted into the App store? For example, features that use private APIs?
Good luck on the launch.
One question: Did you have to modify or remove any features you wished to include in order to get accepted into the App store? For example, features that use private APIs?
Good luck on the launch.
I'll take your question in two parts:
Fortunately this app uses public APIs only, none of which are marked as deprecated (yay!). Because it's delivered via the store it's fully sandboxed and only needs a couple of (pretty pedestrian) entitlements
You never know until you submit to the store for review what will happen, and they ended up being completely cool and helpful. I did have a backup plan in place (i had round-tripped all that was needed for out-of-store distribution), but I'm really glad it didn't come to that.
This is my first Swift app, so maybe that has a lot to do with it, but I found macOS development requires "scavenger-hunt driven development", where you're literally using Xcode autocomplete to discover attributes and methods on system-provided objects. It's doable, but there's a lot of sleuthing involved and docs and tutorials can be a bit sparse.
Finally, the app did have to go through a couple rejections, but those were for missing some aspects of the Human Interface Guidelines, not the app's core functionality. All-in-all, by the time I launched, I think four versions of the app had been accepted (but not released to the public). (The first one was before I added in-app purchases, to test the waters)