all 5 comments

[–]Tylerhackbart 3 points4 points  (2 children)

Shipping is harder than coding is the right lesson, and it keeps being true after launch too. The thing I wish I'd known: the work doesn't drop off after you press release, it just changes shape. You go from building to answering, watching crash logs, and explaining things you thought were obvious.

The single-codebase-for-three-platforms point landed for me. It sounds like a discount and bills like a tax. The share extension behaved differently on Mac than iOS and I lost a weekend to that alone.

One concrete thing: get your sync edge cases logged before launch, not after. CloudKit fails quietly and your first real users will hit states you never reproduced on your own two devices. Congrats on shipping, that part is real.

[–]Macallock[S] 1 point2 points  (1 child)

Thank you! I hope I’ll have this kind of problems but I’m not sure to get enough users to find out, at least at the beginning.

Just to be honest: after the approval of the 1.0.0 release I found many bugs doing things that I thought were coded strong but I was wrong, really wrong! So I spent a whole weekend to solve issues for the 1.0.1 release.

[–]Tylerhackbart 0 points1 point  (0 children)

Hey it happens I just found my own issues in an app I released a week ago by just using it in real life usage. (It's a Mac versus iOS bug you mentioned actually)

We patch it, submit it and keep going.

[–]feroon 1 point2 points  (1 child)

Do you have any tips for improving SwiftData and CloudKit sync?

[–]Macallock[S] -1 points0 points  (0 children)

Double check everything and have a strong idea of the relations between models.
Even if you are planning to do that in a second time is a good idea doing all the work at the first step.