The Statement
I have a SwiftUI
app that uses CoreData
and iCloud
with NSPersistentCloudKitContainer
prepared for beta testing via TestFlight.
The app utilizes iCloud solely as a private database for user data across different devices. The app doesn't use any public or shared database.
According to Apple's guidelines, deploying the development schema to production is necessary before submitting to the App Store:
Before you publish your app, you must deploy the development schema to the production environment to copy over its record types, fields, and indexes.
I am aware that once deployed to production, it's impossible to delete or modify any types or fields:
To prevent conflicts, you can’t delete record types or fields that are already in production. Every time you deploy the development schema, its additive changes merge into the production schema.
The Questions:
- When is the appropriate time to deploy the schema to production?
- Should it be done before beta testing via TestFlight, or is it sufficient to deploy it just before releasing the app on the App Store after beta testing?
- If the schema needs to be deployed before beta testing, does that mean I won't be able to reset the schema if testers discover critical bugs related to the data model, and I'll be compelled to delete or modify any types or fields?
Thank you in advance for any responses!