From 24be0073ae0b9ba3c3192aa70e7a009d7177c21e Mon Sep 17 00:00:00 2001 From: Trey t Date: Mon, 24 Jan 2022 10:27:41 -0600 Subject: [PATCH] possibly fix the launch crash add new package to track cloudkit issues --- Feels.xcodeproj/project.pbxproj | 17 ++++++++++++++++ .../xcshareddata/swiftpm/Package.resolved | 9 +++++++++ Shared/FeelsApp.swift | 2 +- Shared/Persistence.swift | 20 +++++++------------ 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/Feels.xcodeproj/project.pbxproj b/Feels.xcodeproj/project.pbxproj index 361a065..46467be 100644 --- a/Feels.xcodeproj/project.pbxproj +++ b/Feels.xcodeproj/project.pbxproj @@ -21,6 +21,7 @@ 1C683FCC2792281400745862 /* Stats.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C683FC92792281400745862 /* Stats.swift */; }; 1C6B377A2799B78A001EF820 /* BGView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C6B37792799B78A001EF820 /* BGView.swift */; }; 1C744F2C278CE15600953A57 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C744F2B278CE15600953A57 /* AppDelegate.swift */; }; + 1C747CC9279F06EB00762CBD /* CloudKitSyncMonitor in Frameworks */ = {isa = PBXBuildFile; productRef = 1C747CC8279F06EB00762CBD /* CloudKitSyncMonitor */; }; 1CA037702799FFA600D26164 /* ContentModeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA0376F2799FFA600D26164 /* ContentModeViewModel.swift */; }; 1CA03773279A293D00D26164 /* OnboardingTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA03772279A293D00D26164 /* OnboardingTime.swift */; }; 1CA03775279A294800D26164 /* OnboardingDay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA03774279A294800D26164 /* OnboardingDay.swift */; }; @@ -174,6 +175,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 1C747CC9279F06EB00762CBD /* CloudKitSyncMonitor in Frameworks */, 1CD90B6C278C7F78001C4FEA /* CloudKit.framework in Frameworks */, 1C2618FA2795E41D00FDC148 /* Charts in Frameworks */, ); @@ -388,6 +390,7 @@ name = "Feels (iOS)"; packageProductDependencies = ( 1C2618F92795E41D00FDC148 /* Charts */, + 1C747CC8279F06EB00762CBD /* CloudKitSyncMonitor */, ); productName = "Feels (iOS)"; productReference = 1CD90AF5278C7DE0001C4FEA /* iFeel.app */; @@ -504,6 +507,7 @@ mainGroup = 1CD90AE5278C7DDF001C4FEA; packageReferences = ( 1C2618F82795E41D00FDC148 /* XCRemoteSwiftPackageReference "ChartsPackage" */, + 1C747CC7279F06EB00762CBD /* XCRemoteSwiftPackageReference "CloudKitSyncMonitor" */, ); productRefGroup = 1CD90AF6278C7DE0001C4FEA /* Products */; projectDirPath = ""; @@ -1140,6 +1144,14 @@ kind = branch; }; }; + 1C747CC7279F06EB00762CBD /* XCRemoteSwiftPackageReference "CloudKitSyncMonitor" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/ggruen/CloudKitSyncMonitor"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 1.0.0; + }; + }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ @@ -1148,6 +1160,11 @@ package = 1C2618F82795E41D00FDC148 /* XCRemoteSwiftPackageReference "ChartsPackage" */; productName = Charts; }; + 1C747CC8279F06EB00762CBD /* CloudKitSyncMonitor */ = { + isa = XCSwiftPackageProductDependency; + package = 1C747CC7279F06EB00762CBD /* XCRemoteSwiftPackageReference "CloudKitSyncMonitor" */; + productName = CloudKitSyncMonitor; + }; /* End XCSwiftPackageProductDependency section */ /* Begin XCVersionGroup section */ diff --git a/Feels.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Feels.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 9d0009f..ac4b847 100644 --- a/Feels.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Feels.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -10,6 +10,15 @@ "version": null } }, + { + "package": "CloudKitSyncMonitor", + "repositoryURL": "https://github.com/ggruen/CloudKitSyncMonitor", + "state": { + "branch": null, + "revision": "980208a30685713c4c4eb10897206a2e2574ed3f", + "version": "1.1.1" + } + }, { "package": "swift-algorithms", "repositoryURL": "https://github.com/apple/swift-algorithms", diff --git a/Shared/FeelsApp.swift b/Shared/FeelsApp.swift index dc27ba9..78013f1 100644 --- a/Shared/FeelsApp.swift +++ b/Shared/FeelsApp.swift @@ -17,7 +17,6 @@ struct FeelsApp: App { let persistenceController = PersistenceController.shared init() { - persistenceController.fillInMissingDates() BGTaskScheduler.shared.cancelAllTaskRequests() BGTaskScheduler.shared.register(forTaskWithIdentifier: BGTask.updateDBMissingID, using: nil) { (task) in BGTask.runFillInMissingDatesTask(task: task as! BGProcessingTask) @@ -38,6 +37,7 @@ struct FeelsApp: App { if phase == .active { UIApplication.shared.applicationIconBadgeNumber = 0 + persistenceController.fillInMissingDates() } } } diff --git a/Shared/Persistence.swift b/Shared/Persistence.swift index 43826a1..77637a9 100644 --- a/Shared/Persistence.swift +++ b/Shared/Persistence.swift @@ -17,12 +17,7 @@ class PersistenceController { static let shared = PersistenceController.persistenceController private static var persistenceController: PersistenceController { -#if targetEnvironment(simulator) return PersistenceController(inMemory: false) -#else - return PersistenceController(inMemory: false) -#endif - } public var viewContext: NSManagedObjectContext { @@ -142,16 +137,15 @@ class PersistenceController { func fillInMissingDates() { let fetchRequest = NSFetchRequest(entityName: "MoodEntry") - fetchRequest.sortDescriptors = [NSSortDescriptor(key: "forDate", ascending: false)] let entries = try! viewContext.fetch(fetchRequest) - if let earliestDate = entries.last?.forDate { - let diffInDays = Calendar.current.dateComponents([.day], from: earliestDate, to: Date()).day - - for idx in 1.. 1 { + for idx in 1..