Mindbox iOS SDK — Code Coverage

58.1%

develop @ d007dc9af · 2026-06-29 13:51 UTC · test bundles excluded

Export: per-file CSV · trend JSON

Targets

TargetCoverageLines
Mindbox.framework54.7%
9339/17085
MindboxLogger.framework92.0%
1303/1416
MindboxNotifications.framework96.6%
281/291

Trend

last 16 deploys, 53.5% → 58.1%

Files

Mindbox.framework — 54.7%, 249 files (most uncovered lines first)
FileUncoveredCoverageLines
TransparentView.swift10422.4%
26/1068
SwiftyJSON.swift9920.0%
0/992
MindboxAppDelegateProxy.swift3270.0%
0/327
MindboxWebViewFacade.swift3240.0%
0/324
BGTaskManager.swift24613.1%
37/283
WebViewController.swift18127.3%
68/249
MindboxWebBridge.swift1720.0%
0/172
SnackbarViewController.swift15826.5%
57/215
BridgeMessage.swift15346.3%
132/285
MBPersistenceStorage.swift14226.0%
50/192
HapticService.swift1370.0%
0/137
UIBackgroundTaskManager.swift1285.9%
8/136
InAppCoreManager.swift12615.4%
23/149
InAppConfigurationManager.swift11931.6%
55/174
PushNotificationsPermissionHandler.swift1050.0%
0/105
InAppPresentationManager.swift10529.5%
44/149
Mindbox.swift10472.1%
269/373
SnackbarPresentationStrategy.swift1020.0%
0/102
MindboxError.swift10054.3%
119/219
MBPermissionProvider.swift960.0%
0/96
SnackbarView.swift9510.4%
11/106
BridgeMessageDispatcher.swift920.0%
0/92
InappScheduleManager.swift8770.6%
209/296
ImageDownloadService.swift724.0%
3/75
MBNetworkFetcher.swift7083.6%
356/426
MBDatabaseRepository.swift6685.2%
380/446
MBSystemInfoProvider.swift620.0%
0/62
MotionService.swift6271.3%
154/216
ImageFormat.swift580.0%
0/58
WebviewPresentationStrategy.swift580.0%
0/58
InAppConfigurationAPI.swift5818.3%
13/71
ContentBackgroundLayerAction.swift5154.1%
60/111
MBDate.swift5021.9%
14/64
InAppConfigurationDataFacade.swift5079.0%
188/238
NotificationDecoder.swift470.0%
0/47
PresentationDisplayUseCase.swift4754.8%
57/104
MindboxAppDelegate.swift460.0%
0/46
GuaranteedDeliveryManager.swift4679.8%
182/228
ModalPresentationStrategy.swift450.0%
0/45
CrossView.swift4530.8%
20/65
LineRequest.swift430.0%
0/43
IDS.swift400.0%
0/40
PushPermissionHelper.swift4016.7%
8/48
BackgroundTaskManagerProxy.swift3951.2%
41/80
ContentBackgroundLayerSource.swift3958.1%
54/93
ContentBackgroundLayer.swift3965.2%
73/112
SnackbarViewFactory.swift380.0%
0/38
PasteboardUUIDDebugService.swift3516.7%
7/42
CoreController.swift3592.5%
431/466
InAppOperationJSONModel.swift3455.8%
43/77
ModalViewController.swift3474.0%
97/131
ContentElement.swift3265.6%
61/93
PushEnabledTargetingChecker.swift300.0%
0/30
MBSessionManager.swift2954.7%
35/64
InAppConfigurationRepository.swift2826.3%
10/38
iFormVariant.swift2870.5%
67/95
TrackVisitManager.swift2762.5%
45/72
TimerManager.swift2769.7%
62/89
CustomerSegmentsAPI.swift260.0%
0/26
CodableDictionary.swift250.0%
0/25
InAppImagesStorage.swift2411.1%
3/27
OperationBodyRequest.swift230.0%
0/23
String+Extensions.swift2356.6%
30/53
InjectReplaceable.swift2389.2%
189/212
PushPermissionActionUseCase.swift220.0%
0/22
UNAuthorizationStatusProvider.swift200.0%
0/20
ProductListRequest.swift200.0%
0/20
OperationResponse.swift2048.7%
19/39
MBUtilitiesFetcher.swift1974.3%
55/74
CompositeInappMessageDelegate.swift180.0%
0/18
NSError+Extensions.swift180.0%
0/18
HapticRequest.swift180.0%
0/18
SettingsRequestParser.swift180.0%
0/18
PresentationClickTracker.swift170.0%
0/17
CustomerRequest.swift170.0%
0/17
BaseMigration.swift1737.0%
10/27
ViewProductRequest.swift160.0%
0/16
UNAuthorizationStatus+Extensions.swift160.0%
0/16
WebViewFactory.swift160.0%
0/16
IDFAFetcher.swift1636.0%
9/25
GeoTargetingChecker.swift1581.7%
67/82
CheckerFactory.swift1592.7%
190/205
InappMapper.swift1596.5%
413/428
ModalViewFactory.swift140.0%
0/14
MBDatabaseError.swift140.0%
0/14
DatabaseLoader.swift1492.3%
168/182
InjectUtilities.swift1392.5%
160/173
OrderRequest.swift120.0%
0/12
ImageLayerFactory.swift1258.6%
17/29
ContentPositionFilter.swift1274.5%
35/47
TargetingModel.swift1288.2%
90/102
RedirectURLActionUseCase.swift110.0%
0/11
PermissionStatus.swift110.0%
0/11
ClickNotificationManager.swift1156.0%
14/25
InAppMessagesTracker.swift1157.7%
15/26
HTTPURLResponseStatusCodeValidator.swift1169.4%
25/36
DateFormatMigration.swift1191.3%
116/127
DiscountRequest.swift100.0%
0/10
ActionUseCaseFactory.swift100.0%
0/10
RecommendationRequest.swift100.0%
0/10
Constants.swift1044.4%
8/18
InappFrequency.swift1075.6%
31/41
CDEvent+CoreDataProperties.swift1084.6%
55/65
MindboxURLHandlerDelegate.swift90.0%
0/9
UnknownDecodable.swift965.4%
17/26
InternalTargetingChecker.swift970.0%
21/30
Event.swift975.7%
28/37
InjectCore.swift990.6%
87/96
InAppImageOnlyView.swift869.2%
18/26
InappTrackingService.swift883.7%
41/49
ABTestValidator.swift888.4%
61/69
EventRoute.swift891.6%
87/95
InappFilter.swift896.0%
190/198
LayerActionFilter.swift769.6%
16/23
SegmentationService.swift794.4%
119/126
MBEventRepository.swift795.2%
138/145
CheckNotificationsStatusOperation.swift60.0%
0/6
NotificationsPayloads.swift60.0%
0/6
DiscountPromoCodeRequest.swift60.0%
0/6
SubscriptionRequest.swift60.0%
0/6
ItemRequest.swift60.0%
0/6
MindboxSceneDelegate.swift60.0%
0/6
RequestedPromotionRequest.swift60.0%
0/6
DefaultInappMessageDelegate.swift60.0%
0/6
GuaranteedDeliveryManager+State.swift650.0%
6/12
ABTestVariantsValidator.swift688.0%
44/50
WebViewLocalStateStorage.swift692.2%
71/77
SubViewProductRequest.swift50.0%
0/5
PromoCodeRequest.swift50.0%
0/5
CatalogProductListRequest.swift50.0%
0/5
CopyInappMessageDelegate.swift50.0%
0/5
URLInappMessageDelegate.swift50.0%
0/5
MindboxPayloadCopierDelegate.swift50.0%
0/5
InAppMessagesEventSender.swift580.0%
20/25
InappFrequencyValidator.swift593.7%
74/79
MindboxApp.swift40.0%
0/4
InAppMessagesDelegate.swift40.0%
0/4
CouponRequest.swift40.0%
0/4
ViewProductCategoryRequest.swift40.0%
0/4
UIApplication+Extensions.swift483.3%
20/24
MBInject.swift487.1%
27/31
SessionTemporaryStorage.swift487.5%
28/32
ElementsPositionFilter.swift487.9%
29/33
VariantImageUrlExtractorService.swift488.6%
31/35
NotificationFormatStrategy.swift493.2%
55/59
InappSessionManager.swift495.8%
91/95
TargetingChecker.swift496.7%
119/123
CashdeskRequest.swift30.0%
0/3
ProductGroupRequest.swift30.0%
0/3
DiscountCardRequest.swift30.0%
0/3
PoolRequest.swift30.0%
0/3
CustomerActionRequest.swift30.0%
0/3
SegmentationRequest.swift30.0%
0/3
ProductRequest.swift30.0%
0/3
AreaRequest.swift30.0%
0/3
ProductCategoryRequest.swift30.0%
0/3
BodyEncoder.swift362.5%
5/8
VisitTargetingChecker.swift385.7%
18/21
ShownInAppsIDsMigration.swift388.0%
22/25
OrTargetingChecker.swift390.0%
27/30
AndTargetingChecker.swift390.3%
28/31
MBContainer.swift390.3%
28/31
IDFVFetcher.swift390.9%
30/33
MBConfiguration.swift397.6%
124/127
BackgroundTaskManagerType.swift20.0%
0/2
ValidationError.swift266.7%
4/6
SlidingExpirationModel.swift281.8%
9/11
ProtocolError.swift291.7%
22/24
ShownInAppsDictionaryMigration.swift292.0%
23/25
InAppModel.swift293.9%
31/33
TTLValidationService.swift293.9%
31/33
CloseButtonElementFactory.swift294.1%
32/34
PeriodicFrequency.swift294.3%
33/35
ProductSegmentChecker.swift294.4%
34/36
ABTestDeviceMixer.swift295.2%
40/42
LayersFilter.swift295.5%
42/44
VariantsFilter.swift296.2%
50/52
URLRequestBuilder.swift296.2%
51/53
SDKLogsManager.swift297.5%
78/80
DatabaseMetadataMigration.swift297.8%
90/92
ContentPositionMargin.swift183.3%
5/6
ContentElementPositionMargin.swift183.3%
5/6
OnceFrequency.swift188.9%
8/9
BodyDecoder.swift190.9%
10/11
FirstInitializationDateTimeMigration.swift194.1%
16/17
MobileApplicationInstalled.swift194.4%
17/18
LayersSourceFilter.swift194.4%
17/18
UIColor+Extensions.swift195.2%
20/21
CategoryIDInChecker.swift196.3%
26/27
UserVisitManager.swift196.4%
27/28
SegmentTargetingChecker.swift196.4%
27/28
RemoveBackgroundTaskDataMigration.swift197.4%
38/39
ElementsFilter.swift197.7%
42/43
DeliveryOperation.swift198.3%
58/59
NotificationFormatFactory.swift0100.0%
10/10
BaseResponse.swift0100.0%
1/1
DeviceModelHelper.swift0100.0%
14/14
InjectABTestUtilities.swift0100.0%
28/28
DatabaseRepositoryProtocol.swift0100.0%
3/3
FeatureToggleManager.swift0100.0%
26/26
InappShowFailureManager.swift0100.0%
164/164
InAppSettingsModel.swift0100.0%
12/12
InjectInappTools.swift0100.0%
215/215
GeoService.swift0100.0%
38/38
ABTestModel.swift0100.0%
35/35
TimeInterval+TimeSpan.swift0100.0%
15/15
String+Regex.swift0100.0%
61/61
ContentElementSizeType.swift0100.0%
6/6
StubDatabaseLoader.swift0100.0%
3/3
HapticRequestParser.swift0100.0%
81/81
InAppGeoResponse.swift0100.0%
5/5
PushNotificationFormatter.swift0100.0%
4/4
HapticRequestValidator.swift0100.0%
44/44
CategoryIDChecker.swift0100.0%
31/31
MigrationManager.swift0100.0%
64/64
TrackClick.swift0100.0%
4/4
DispatchSemaphore.swift0100.0%
5/5
MobileApplicationInfoUpdated.swift0100.0%
13/13
SettingsModel.swift0100.0%
9/9
CategoryIDTargeting.swift0100.0%
3/3
TrueTargetingChecker.swift0100.0%
3/3
ForegroundStopwatch.swift0100.0%
47/47
ConfigResponse.swift0100.0%
34/34
PersistenceStorage.swift0100.0%
27/27
URLValidator.swift0100.0%
40/40
ProductIDChecker.swift0100.0%
31/31
PermissionHandler.swift0100.0%
7/7
NetworkFetcher.swift0100.0%
3/3
VisitTargeting.swift0100.0%
13/13
BaseAddressesModel.swift0100.0%
4/4
TrackVisit.swift0100.0%
6/6
FailableDecodableArray.swift0100.0%
22/22
UDIDValidator.swift0100.0%
6/6
OperationNameValidator.swift0100.0%
19/19
Route.swift0100.0%
1/1
ElementsSizeFilter.swift0100.0%
21/21
ProductIDTargeting.swift0100.0%
3/3
ElementsColorFilter.swift0100.0%
8/8
OperationsDomainConfigPolicy.swift0100.0%
15/15
TimeToLiveModel.swift0100.0%
8/8
SettingsOperationsModel.swift0100.0%
13/13
InAppFormData.swift0100.0%
11/11
SDKVersionValidator.swift0100.0%
16/16
HostNormalizer.swift0100.0%
26/26
NoopDatabaseRepository.swift0100.0%
11/11
CustomOperationChecker.swift0100.0%
17/17
MindboxPushValidator.swift0100.0%
9/9
FeatureTogglesModel.swift0100.0%
4/4
InappPresentationValidator.swift0100.0%
126/126
MindboxLogger.framework — 92.0%, 23 files (most uncovered lines first)
FileUncoveredCoverageLines
MBLoggerCoreDataManager.swift6486.9%
423/487
MBLogger.swift1475.9%
44/58
MindboxError.swift1393.2%
179/192
MBLoggerUtilitiesFetcher.swift872.4%
21/29
MindboxLogger.swift895.5%
170/178
LoggerDatabaseLoader.swift496.7%
119/123
String+Extensions.swift196.7%
29/30
NSManagedObjectContext+Extension.swift197.9%
47/48
LogMessage.swift0100.0%
3/3
LoggerErrorModel.swift0100.0%
7/7
SDKLogsStatus.swift0100.0%
14/14
ProtocolError.swift0100.0%
24/24
LogWriter.swift0100.0%
22/22
LogStoreTrimmer.swift0100.0%
29/29
MBPersistentContainer.swift0100.0%
7/7
LogCategory.swift0100.0%
30/30
SQLiteLogicalSizeMeasurer.swift0100.0%
31/31
URL+Extensions.swift0100.0%
12/12
Date+Extension.swift0100.0%
31/31
FileManager+Extensions.swift0100.0%
15/15
UnknownDecodable.swift0100.0%
21/21
LogLevel.swift0100.0%
19/19
ValidationError.swift0100.0%
6/6
MindboxNotifications.framework — 96.6%, 11 files (most uncovered lines first)
FileUncoveredCoverageLines
NotificationContent.swift494.9%
75/79
SharedInternalMethods.swift388.0%
22/25
NotificationService.swift396.0%
72/75
MindboxNotificationService.swift0100.0%
4/4
NotificationFormatter.swift0100.0%
4/4
Payload.swift0100.0%
3/3
NotificationFormatStrategy.swift0100.0%
53/53
NotificationStrategyFactory.swift0100.0%
8/8
MindboxPushNotification.swift0100.0%
9/9
ImageFormat.swift0100.0%
25/25
PushValidator.swift0100.0%
6/6

Recent deploys

DateCommitTotal
2026-06-29 13:51 UTCd007dc9af58.13%
2026-06-26 16:14 UTCddb7c59ac58.09%
2026-06-26 14:49 UTC890d4ddf456.31%
2026-06-26 11:18 UTC3d8564c9b56.14%
2026-06-25 20:59 UTC73e76248156.15%
2026-06-22 09:11 UTCbff245fd756.15%
2026-06-17 15:15 UTCc997c716d55.08%
2026-06-17 13:41 UTCd3db6cdeb55.02%
2026-06-16 15:09 UTC5e16084b955.01%
2026-06-16 10:39 UTC27ccea8a654.56%
2026-06-16 10:29 UTCb8f20c74154.66%
2026-06-15 19:07 UTC042fcc3ab53.60%
2026-06-11 21:49 UTCbdf333b3653.56%
2026-06-11 21:39 UTC04ed60c7253.56%
2026-06-11 21:27 UTCcd38931b953.60%
2026-06-11 21:13 UTC6e5d14b7453.55%