diff --git a/platform/darwin/src/MGLOfflinePack_Private.h b/platform/darwin/src/MGLOfflinePack_Private.h index 4a121af8a..0e9265540 100644 --- a/platform/darwin/src/MGLOfflinePack_Private.h +++ b/platform/darwin/src/MGLOfflinePack_Private.h @@ -33,7 +33,7 @@ NS_ASSUME_NONNULL_BEGIN /** Invalidates the pack and ensures that no future progress update can ever - revalidate it. + revalidate it. This method must be called before the pack is deallocated. */ - (void)invalidate; diff --git a/platform/darwin/src/MGLOfflineStorage.mm b/platform/darwin/src/MGLOfflineStorage.mm index 4e69ba211..c4c57224d 100644 --- a/platform/darwin/src/MGLOfflineStorage.mm +++ b/platform/darwin/src/MGLOfflineStorage.mm @@ -195,6 +195,9 @@ NSString * const MGLOfflinePackMaximumCountUserInfoKey = @"MaximumCount"; - (void)reloadPacks { [self getPacksWithCompletionHandler:^(NS_ARRAY_OF(MGLOfflinePack *) *packs, __unused NSError * _Nullable error) { + for (MGLOfflinePack *pack in self.packs) { + [pack invalidate]; + } self.packs = [packs mutableCopy]; for (MGLOfflinePack *pack in packs) {