possibly fix the launch crash
add new package to track cloudkit issues
This commit is contained in:
@@ -21,6 +21,7 @@
|
|||||||
1C683FCC2792281400745862 /* Stats.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C683FC92792281400745862 /* Stats.swift */; };
|
1C683FCC2792281400745862 /* Stats.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C683FC92792281400745862 /* Stats.swift */; };
|
||||||
1C6B377A2799B78A001EF820 /* BGView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C6B37792799B78A001EF820 /* BGView.swift */; };
|
1C6B377A2799B78A001EF820 /* BGView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C6B37792799B78A001EF820 /* BGView.swift */; };
|
||||||
1C744F2C278CE15600953A57 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C744F2B278CE15600953A57 /* AppDelegate.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 */; };
|
1CA037702799FFA600D26164 /* ContentModeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA0376F2799FFA600D26164 /* ContentModeViewModel.swift */; };
|
||||||
1CA03773279A293D00D26164 /* OnboardingTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA03772279A293D00D26164 /* OnboardingTime.swift */; };
|
1CA03773279A293D00D26164 /* OnboardingTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA03772279A293D00D26164 /* OnboardingTime.swift */; };
|
||||||
1CA03775279A294800D26164 /* OnboardingDay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA03774279A294800D26164 /* OnboardingDay.swift */; };
|
1CA03775279A294800D26164 /* OnboardingDay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CA03774279A294800D26164 /* OnboardingDay.swift */; };
|
||||||
@@ -174,6 +175,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
1C747CC9279F06EB00762CBD /* CloudKitSyncMonitor in Frameworks */,
|
||||||
1CD90B6C278C7F78001C4FEA /* CloudKit.framework in Frameworks */,
|
1CD90B6C278C7F78001C4FEA /* CloudKit.framework in Frameworks */,
|
||||||
1C2618FA2795E41D00FDC148 /* Charts in Frameworks */,
|
1C2618FA2795E41D00FDC148 /* Charts in Frameworks */,
|
||||||
);
|
);
|
||||||
@@ -388,6 +390,7 @@
|
|||||||
name = "Feels (iOS)";
|
name = "Feels (iOS)";
|
||||||
packageProductDependencies = (
|
packageProductDependencies = (
|
||||||
1C2618F92795E41D00FDC148 /* Charts */,
|
1C2618F92795E41D00FDC148 /* Charts */,
|
||||||
|
1C747CC8279F06EB00762CBD /* CloudKitSyncMonitor */,
|
||||||
);
|
);
|
||||||
productName = "Feels (iOS)";
|
productName = "Feels (iOS)";
|
||||||
productReference = 1CD90AF5278C7DE0001C4FEA /* iFeel.app */;
|
productReference = 1CD90AF5278C7DE0001C4FEA /* iFeel.app */;
|
||||||
@@ -504,6 +507,7 @@
|
|||||||
mainGroup = 1CD90AE5278C7DDF001C4FEA;
|
mainGroup = 1CD90AE5278C7DDF001C4FEA;
|
||||||
packageReferences = (
|
packageReferences = (
|
||||||
1C2618F82795E41D00FDC148 /* XCRemoteSwiftPackageReference "ChartsPackage" */,
|
1C2618F82795E41D00FDC148 /* XCRemoteSwiftPackageReference "ChartsPackage" */,
|
||||||
|
1C747CC7279F06EB00762CBD /* XCRemoteSwiftPackageReference "CloudKitSyncMonitor" */,
|
||||||
);
|
);
|
||||||
productRefGroup = 1CD90AF6278C7DE0001C4FEA /* Products */;
|
productRefGroup = 1CD90AF6278C7DE0001C4FEA /* Products */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
@@ -1140,6 +1144,14 @@
|
|||||||
kind = branch;
|
kind = branch;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
1C747CC7279F06EB00762CBD /* XCRemoteSwiftPackageReference "CloudKitSyncMonitor" */ = {
|
||||||
|
isa = XCRemoteSwiftPackageReference;
|
||||||
|
repositoryURL = "https://github.com/ggruen/CloudKitSyncMonitor";
|
||||||
|
requirement = {
|
||||||
|
kind = upToNextMajorVersion;
|
||||||
|
minimumVersion = 1.0.0;
|
||||||
|
};
|
||||||
|
};
|
||||||
/* End XCRemoteSwiftPackageReference section */
|
/* End XCRemoteSwiftPackageReference section */
|
||||||
|
|
||||||
/* Begin XCSwiftPackageProductDependency section */
|
/* Begin XCSwiftPackageProductDependency section */
|
||||||
@@ -1148,6 +1160,11 @@
|
|||||||
package = 1C2618F82795E41D00FDC148 /* XCRemoteSwiftPackageReference "ChartsPackage" */;
|
package = 1C2618F82795E41D00FDC148 /* XCRemoteSwiftPackageReference "ChartsPackage" */;
|
||||||
productName = Charts;
|
productName = Charts;
|
||||||
};
|
};
|
||||||
|
1C747CC8279F06EB00762CBD /* CloudKitSyncMonitor */ = {
|
||||||
|
isa = XCSwiftPackageProductDependency;
|
||||||
|
package = 1C747CC7279F06EB00762CBD /* XCRemoteSwiftPackageReference "CloudKitSyncMonitor" */;
|
||||||
|
productName = CloudKitSyncMonitor;
|
||||||
|
};
|
||||||
/* End XCSwiftPackageProductDependency section */
|
/* End XCSwiftPackageProductDependency section */
|
||||||
|
|
||||||
/* Begin XCVersionGroup section */
|
/* Begin XCVersionGroup section */
|
||||||
|
|||||||
@@ -10,6 +10,15 @@
|
|||||||
"version": null
|
"version": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"package": "CloudKitSyncMonitor",
|
||||||
|
"repositoryURL": "https://github.com/ggruen/CloudKitSyncMonitor",
|
||||||
|
"state": {
|
||||||
|
"branch": null,
|
||||||
|
"revision": "980208a30685713c4c4eb10897206a2e2574ed3f",
|
||||||
|
"version": "1.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"package": "swift-algorithms",
|
"package": "swift-algorithms",
|
||||||
"repositoryURL": "https://github.com/apple/swift-algorithms",
|
"repositoryURL": "https://github.com/apple/swift-algorithms",
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ struct FeelsApp: App {
|
|||||||
let persistenceController = PersistenceController.shared
|
let persistenceController = PersistenceController.shared
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
persistenceController.fillInMissingDates()
|
|
||||||
BGTaskScheduler.shared.cancelAllTaskRequests()
|
BGTaskScheduler.shared.cancelAllTaskRequests()
|
||||||
BGTaskScheduler.shared.register(forTaskWithIdentifier: BGTask.updateDBMissingID, using: nil) { (task) in
|
BGTaskScheduler.shared.register(forTaskWithIdentifier: BGTask.updateDBMissingID, using: nil) { (task) in
|
||||||
BGTask.runFillInMissingDatesTask(task: task as! BGProcessingTask)
|
BGTask.runFillInMissingDatesTask(task: task as! BGProcessingTask)
|
||||||
@@ -38,6 +37,7 @@ struct FeelsApp: App {
|
|||||||
|
|
||||||
if phase == .active {
|
if phase == .active {
|
||||||
UIApplication.shared.applicationIconBadgeNumber = 0
|
UIApplication.shared.applicationIconBadgeNumber = 0
|
||||||
|
persistenceController.fillInMissingDates()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,12 +17,7 @@ class PersistenceController {
|
|||||||
static let shared = PersistenceController.persistenceController
|
static let shared = PersistenceController.persistenceController
|
||||||
|
|
||||||
private static var persistenceController: PersistenceController {
|
private static var persistenceController: PersistenceController {
|
||||||
#if targetEnvironment(simulator)
|
|
||||||
return PersistenceController(inMemory: false)
|
return PersistenceController(inMemory: false)
|
||||||
#else
|
|
||||||
return PersistenceController(inMemory: false)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public var viewContext: NSManagedObjectContext {
|
public var viewContext: NSManagedObjectContext {
|
||||||
@@ -142,16 +137,15 @@ class PersistenceController {
|
|||||||
|
|
||||||
func fillInMissingDates() {
|
func fillInMissingDates() {
|
||||||
let fetchRequest = NSFetchRequest<MoodEntry>(entityName: "MoodEntry")
|
let fetchRequest = NSFetchRequest<MoodEntry>(entityName: "MoodEntry")
|
||||||
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "forDate", ascending: false)]
|
|
||||||
let entries = try! viewContext.fetch(fetchRequest)
|
let entries = try! viewContext.fetch(fetchRequest)
|
||||||
|
|
||||||
if let earliestDate = entries.last?.forDate {
|
if let earliestDate = entries.last?.forDate,
|
||||||
let diffInDays = Calendar.current.dateComponents([.day], from: earliestDate, to: Date()).day
|
let diffInDays = Calendar.current.dateComponents([.day], from: earliestDate, to: Date()).day,
|
||||||
|
diffInDays > 1 {
|
||||||
for idx in 1..<diffInDays! {
|
for idx in 1..<diffInDays {
|
||||||
let searchDay = Calendar.current.date(byAdding: .day, value: -idx, to: Date())
|
if let searchDay = Calendar.current.date(byAdding: .day, value: -idx, to: Date()),
|
||||||
if entries.filter({ Calendar.current.isDate($0.forDate!, inSameDayAs:searchDay!) }).isEmpty {
|
entries.filter({ Calendar.current.isDate($0.forDate!, inSameDayAs:searchDay) }).isEmpty {
|
||||||
self.add(mood: .missing, forDate: searchDay!)
|
self.add(mood: .missing, forDate: searchDay)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user