ListlessWatchApp.swift (1283B)
1 import SwiftUI 2 3 @main 4 struct ListlessWatchApp: App { 5 private let persistenceController: PersistenceController 6 private let keyValueSyncBridge = KeyValueSyncBridge(keys: ["listName", "colorTheme"]) 7 8 init() { 9 let args = ProcessInfo.processInfo.arguments 10 let isUITesting = args.contains("UI_TESTING") 11 persistenceController = isUITesting ? PersistenceController(inMemory: true) : .shared 12 keyValueSyncBridge.start() 13 14 if isUITesting, args.contains("SCREENSHOT_SEED") { 15 let store = ItemStore(persistenceController: persistenceController) 16 try? store.createItem(title: "Make smartband", sortOrder: 1000) 17 try? store.createItem(title: "Add custom faces", sortOrder: 2000) 18 let item = try? store.createItem(title: "Focus on fitness", sortOrder: 3000) 19 if let item { try? store.complete(itemID: item.id) } 20 try? store.save() 21 } 22 } 23 24 var body: some Scene { 25 WindowGroup { 26 ItemListView( 27 store: ItemStore(persistenceController: persistenceController), 28 syncMonitor: persistenceController.syncMonitor 29 ) 30 .environment(\.managedObjectContext, persistenceController.viewContext) 31 } 32 } 33 }