possibly fix the launch crash
add new package to track cloudkit issues
This commit is contained in:
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<MoodEntry>(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..<diffInDays! {
|
||||
let searchDay = Calendar.current.date(byAdding: .day, value: -idx, to: Date())
|
||||
if entries.filter({ Calendar.current.isDate($0.forDate!, inSameDayAs:searchDay!) }).isEmpty {
|
||||
self.add(mood: .missing, forDate: searchDay!)
|
||||
if let earliestDate = entries.last?.forDate,
|
||||
let diffInDays = Calendar.current.dateComponents([.day], from: earliestDate, to: Date()).day,
|
||||
diffInDays > 1 {
|
||||
for idx in 1..<diffInDays {
|
||||
if let searchDay = Calendar.current.date(byAdding: .day, value: -idx, to: Date()),
|
||||
entries.filter({ Calendar.current.isDate($0.forDate!, inSameDayAs:searchDay) }).isEmpty {
|
||||
self.add(mood: .missing, forDate: searchDay)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user