@@ -1262,7 +1262,6 @@ extension DeviceDataManager: InsulinDeliveryStoreDelegate {
12621262// MARK: - TestingPumpManager
12631263extension DeviceDataManager {
12641264 func deleteTestingPumpData( completion: ( ( Error ? ) -> Void ) ? = nil ) {
1265-
12661265 guard let testingPumpManager = pumpManager as? TestingPumpManager else {
12671266 completion ? ( nil )
12681267 return
@@ -1278,8 +1277,16 @@ extension DeviceDataManager {
12781277 return
12791278 }
12801279
1281- healthStore. deleteObjects ( of: self . doseStore. sampleType, predicate: devicePredicate) { success, deletedObjectCount, error in
1282- if success {
1280+ guard !self . doseStore. sharingDenied else {
1281+ // only clear cache since access to health kit is denied
1282+ insulinDeliveryStore. purgeCachedInsulinDeliveryObjects ( ) { error in
1283+ completion ? ( error)
1284+ }
1285+ return
1286+ }
1287+
1288+ insulinDeliveryStore. purgeAllDoseEntries ( healthKitPredicate: devicePredicate) { error in
1289+ if error == nil {
12831290 insulinDeliveryStore. test_lastImmutableBasalEndDate = nil
12841291 }
12851292 completion ? ( error)
@@ -1288,11 +1295,18 @@ extension DeviceDataManager {
12881295 }
12891296
12901297 func deleteTestingCGMData( completion: ( ( Error ? ) -> Void ) ? = nil ) {
1291-
12921298 guard let testingCGMManager = cgmManager as? TestingCGMManager else {
12931299 assertionFailure ( " \( #function) should be invoked only when a testing CGM manager is in use " )
12941300 return
12951301 }
1302+
1303+ guard !glucoseStore. sharingDenied else {
1304+ // only clear cache since access to health kit is denied
1305+ glucoseStore. purgeCachedGlucoseObjects ( ) { error in
1306+ completion ? ( error)
1307+ }
1308+ return
1309+ }
12961310
12971311 let predicate = HKQuery . predicateForObjects ( from: [ testingCGMManager. testingDevice] )
12981312 glucoseStore. purgeAllGlucoseSamples ( healthKitPredicate: predicate) { error in
0 commit comments