Choose where information lives
Most first apps can keep information on the phone. Add an online service only when it does something your users actually need.
Choose one sensible home for your app’s information.
Let’s do this
- 1In Codex
Start with one phone
If each person uses the app on one phone and shares nothing, keep the local storage you already built. There is no new account or server bill. Plan an export or backup if losing the information would matter.
- 2In Codex
Choose iCloud for one person’s Apple devices
If someone wants the same private information on their own iPhone and iPad, use their existing Apple Account through iCloud. Follow the next two lessons. This route does not add an app password or a shared family database.
- 3In Codex
Choose Supabase for separate users or sharing
If different people need accounts and controlled access to shared records, take the Accounts & shared data lessons instead. Supabase supplies sign-in and an online database, which is an organised store of information. It adds ongoing checks and limits.
- 4In Codex
Ask Codex to explain the choice
Use the message below. Ask what happens without internet, when the app is deleted and when someone changes phone. Choose the smallest option that meets the main job. Avoid adding both online systems unless there is a clear reason.
View largerA message for Codex
For my first iPhone app, for the people I want to help, whose main job is [describe the problem my app should solve] and features are [choose up to three small features], compare local SwiftData, private iCloud syncing and Supabase accounts/shared data. Ask who needs to see each record. Recommend the smallest fit and explain offline behaviour, deletion, backup, membership costs and free-plan limits. Do not add a service yet.
What you should see
You can say where information lives, who can see it and whether the app needs an online service.
If you get stuck
Checked 7 September 2026. Screens can change; the official guides below have the latest steps.
Saving data between launchesSync using SwiftData and iCloudSupabase pricing