title: Implement Core Data on independent watchOS app
body: <p>As I know, we can use Core Data on Apple Watch apps. So an independent watchOS app can have it's own persistent store.
  But when we creating a project for watchOS app, there is no option to use core data (like when we creating a project for an iOS app)</p>
  
  <p>So, how to implement Core Data on an independent watchOS app?</p>
  
  <p>I've copied this code from an iOS app (which uses Core Data) and pasted it to the <code>ExtensionDelegate</code> of my independent SwiftUI watchOS app </p>
  
  <pre><code> // MARK: - Core Data stack
  
      lazy var persistentContainer: NSPersistentContainer = {
          /*
           The persistent container for the application. This implementation
           creates and returns a container, having loaded the store for the
           application to it. This property is optional since there are legitimate
           error conditions that could cause the creation of the store to fail.
          */
          let container = NSPersistentContainer(name: "CoreDataToDo")
          container.loadPersistentStores(completionHandler: { (storeDescription, error) in
              if let error = error as NSError? {
                  // Replace this implementation with code to handle the error appropriately.
                  // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
  
                  /*
                   Typical reasons for an error here include:
                   * The parent directory does not exist, cannot be created, or disallows writing.
                   * The persistent store is not accessible, due to permissions or data protection when the device is locked.
                   * The device is out of space.
                   * The store could not be migrated to the current model version.
                   Check the error message to determine what the actual problem was.
                   */
                  fatalError("Unresolved error \(error), \(error.userInfo)")
              }
          })
          return container
      }()
  
      // MARK: - Core Data Saving support
  
      func saveContext () {
          let context = persistentContainer.viewContext
          if context.hasChanges {
              do {
                  try context.save()
              } catch {
                  // Replace this implementation with code to handle the error appropriately.
                  // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
                  let nserror = error as NSError
                  fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
              }
          }
      }
  </code></pre>
  
  <p>So what should I do next? <br>
  or am I already doing this wrong?</p>
  
  <p>Please help me. I've tried so hard to find how to do this. But I can't find any good solutions because previously there were no independent watchOS apps so most of the developers didn't create a separate persistent stores for the watchOS apps. <br>
  So please help me. <br>
  Thanks.</p>