diff options
author | Randall C Lee <randallee@gmail.com> | 2018-09-05 15:35:04 -0400 |
---|---|---|
committer | Randall C Lee <randallee@gmail.com> | 2018-09-05 15:35:04 -0400 |
commit | c475b772c6c29901d070366ac2e5286930a1f070 (patch) | |
tree | 9e00b26c69897bc471c114822b67950d85c59050 | |
parent | 9eac6d1ad4d9886a313ec94446baccc50c395ee4 (diff) | |
download | qtlocation-mapboxgl-c475b772c6c29901d070366ac2e5286930a1f070.tar.gz |
Add missing files and remove old files
-rw-r--r-- | platform/ios/ios.xcodeproj/project.pbxproj | 44 | ||||
-rw-r--r-- | platform/ios/src/MMEConfigurator.h | 20 | ||||
-rw-r--r-- | platform/ios/src/MMEConfigurator.m | 36 | ||||
-rw-r--r-- | platform/ios/src/MMEHashProvider.h | 11 | ||||
-rw-r--r-- | platform/ios/src/MMEHashProvider.m | 156 | ||||
-rw-r--r-- | platform/ios/src/MMETrustKitProvider.h | 10 | ||||
-rw-r--r-- | platform/ios/src/MMETrustKitProvider.m | 58 |
7 files changed, 315 insertions, 20 deletions
diff --git a/platform/ios/ios.xcodeproj/project.pbxproj b/platform/ios/ios.xcodeproj/project.pbxproj index d9d15f76be..7c62383ede 100644 --- a/platform/ios/ios.xcodeproj/project.pbxproj +++ b/platform/ios/ios.xcodeproj/project.pbxproj @@ -212,7 +212,6 @@ 40834BF11FE05E1800C1BD0D /* MMENSDateWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BBC1FE05D6E00C1BD0D /* MMENSDateWrapper.m */; }; 40834BF21FE05E1800C1BD0D /* MMENSURLSessionWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BC61FE05D7000C1BD0D /* MMENSURLSessionWrapper.m */; }; 40834BF31FE05E1800C1BD0D /* MMETimerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BB91FE05D6E00C1BD0D /* MMETimerManager.m */; }; - 40834BF41FE05E1800C1BD0D /* MMETrustKitWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BC11FE05D6F00C1BD0D /* MMETrustKitWrapper.m */; }; 40834BF51FE05E1800C1BD0D /* MMETypes.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BBD1FE05D6E00C1BD0D /* MMETypes.m */; }; 40834BF61FE05E1800C1BD0D /* MMEUIApplicationWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BCA1FE05D7000C1BD0D /* MMEUIApplicationWrapper.m */; }; 40834BF71FE05E1800C1BD0D /* MMEUniqueIdentifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BAD1FE05D6C00C1BD0D /* MMEUniqueIdentifier.m */; }; @@ -232,7 +231,6 @@ 40834C051FE05E1800C1BD0D /* MMENSDateWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BBC1FE05D6E00C1BD0D /* MMENSDateWrapper.m */; }; 40834C061FE05E1800C1BD0D /* MMENSURLSessionWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BC61FE05D7000C1BD0D /* MMENSURLSessionWrapper.m */; }; 40834C071FE05E1800C1BD0D /* MMETimerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BB91FE05D6E00C1BD0D /* MMETimerManager.m */; }; - 40834C081FE05E1800C1BD0D /* MMETrustKitWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BC11FE05D6F00C1BD0D /* MMETrustKitWrapper.m */; }; 40834C091FE05E1800C1BD0D /* MMETypes.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BBD1FE05D6E00C1BD0D /* MMETypes.m */; }; 40834C0A1FE05E1800C1BD0D /* MMEUIApplicationWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BCA1FE05D7000C1BD0D /* MMEUIApplicationWrapper.m */; }; 40834C0B1FE05E1800C1BD0D /* MMEUniqueIdentifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 40834BAD1FE05D6C00C1BD0D /* MMEUniqueIdentifier.m */; }; @@ -378,10 +376,12 @@ AC518E00201BB55A00EBC820 /* MGLTelemetryConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = AC518DFD201BB55A00EBC820 /* MGLTelemetryConfig.h */; }; AC518E03201BB56000EBC820 /* MGLTelemetryConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = AC518DFE201BB55A00EBC820 /* MGLTelemetryConfig.m */; }; AC518E04201BB56100EBC820 /* MGLTelemetryConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = AC518DFE201BB55A00EBC820 /* MGLTelemetryConfig.m */; }; - ACF969F220CB04E600B23FB7 /* MMEEventsService.m in Sources */ = {isa = PBXBuildFile; fileRef = ACF969F020CB04E500B23FB7 /* MMEEventsService.m */; }; - ACF969F320CB04E600B23FB7 /* MMEEventsService.m in Sources */ = {isa = PBXBuildFile; fileRef = ACF969F020CB04E500B23FB7 /* MMEEventsService.m */; }; - ACF969F420CB04E600B23FB7 /* MMEEventsService.h in Headers */ = {isa = PBXBuildFile; fileRef = ACF969F120CB04E500B23FB7 /* MMEEventsService.h */; }; - ACF969F520CB04E600B23FB7 /* MMEEventsService.h in Headers */ = {isa = PBXBuildFile; fileRef = ACF969F120CB04E500B23FB7 /* MMEEventsService.h */; }; + ACA65F472140669000537748 /* MMETrustKitProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = ACA65F452140668100537748 /* MMETrustKitProvider.m */; }; + ACA65F482140669100537748 /* MMETrustKitProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = ACA65F452140668100537748 /* MMETrustKitProvider.m */; }; + ACA65F4B214066AC00537748 /* MMEHashProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = ACA65F49214066A900537748 /* MMEHashProvider.m */; }; + ACA65F4C214066AC00537748 /* MMEHashProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = ACA65F49214066A900537748 /* MMEHashProvider.m */; }; + ACA65F53214066E600537748 /* MMEConfigurator.m in Sources */ = {isa = PBXBuildFile; fileRef = ACA65F50214066E600537748 /* MMEConfigurator.m */; }; + ACA65F54214066E600537748 /* MMEConfigurator.m in Sources */ = {isa = PBXBuildFile; fileRef = ACA65F50214066E600537748 /* MMEConfigurator.m */; }; CA0C27922076C804001CE5B7 /* MGLShapeSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0C27912076C804001CE5B7 /* MGLShapeSourceTests.m */; }; CA0C27942076CA19001CE5B7 /* MGLMapViewIntegrationTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0C27932076CA19001CE5B7 /* MGLMapViewIntegrationTest.m */; }; CA1B4A512099FB2200EDD491 /* MGLMapSnapshotterTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1B4A502099FB2200EDD491 /* MGLMapSnapshotterTest.m */; }; @@ -889,7 +889,6 @@ 40834BA41FE05D6B00C1BD0D /* MMEEventsManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MMEEventsManager.m; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMEEventsManager.m"; sourceTree = SOURCE_ROOT; }; 40834BA51FE05D6B00C1BD0D /* MMEAPIClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MMEAPIClient.m; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMEAPIClient.m"; sourceTree = SOURCE_ROOT; }; 40834BA61FE05D6B00C1BD0D /* MMEEventLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MMEEventLogger.h; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMEEventLogger.h"; sourceTree = SOURCE_ROOT; }; - 40834BA71FE05D6B00C1BD0D /* MMETrustKitWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MMETrustKitWrapper.h; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMETrustKitWrapper.h"; sourceTree = SOURCE_ROOT; }; 40834BAA1FE05D6C00C1BD0D /* MMENSURLSessionWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MMENSURLSessionWrapper.h; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMENSURLSessionWrapper.h"; sourceTree = SOURCE_ROOT; }; 40834BAB1FE05D6C00C1BD0D /* MMEAPIClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MMEAPIClient.h; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMEAPIClient.h"; sourceTree = SOURCE_ROOT; }; 40834BAC1FE05D6C00C1BD0D /* MapboxMobileEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MapboxMobileEvents.h; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MapboxMobileEvents.h"; sourceTree = SOURCE_ROOT; }; @@ -913,7 +912,6 @@ 40834BBE1FE05D6E00C1BD0D /* MMEUIApplicationWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MMEUIApplicationWrapper.h; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMEUIApplicationWrapper.h"; sourceTree = SOURCE_ROOT; }; 40834BBF1FE05D6E00C1BD0D /* MMEUniqueIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MMEUniqueIdentifier.h; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMEUniqueIdentifier.h"; sourceTree = SOURCE_ROOT; }; 40834BC01FE05D6E00C1BD0D /* MMEConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MMEConstants.m; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMEConstants.m"; sourceTree = SOURCE_ROOT; }; - 40834BC11FE05D6F00C1BD0D /* MMETrustKitWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MMETrustKitWrapper.m; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMETrustKitWrapper.m"; sourceTree = SOURCE_ROOT; }; 40834BC21FE05D6F00C1BD0D /* CLLocation+MMEMobileEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "CLLocation+MMEMobileEvents.h"; path = "vendor/mapbox-events-ios/MapboxMobileEvents/CLLocation+MMEMobileEvents.h"; sourceTree = SOURCE_ROOT; }; 40834BC31FE05D6F00C1BD0D /* CLLocation+MMEMobileEvents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "CLLocation+MMEMobileEvents.m"; path = "vendor/mapbox-events-ios/MapboxMobileEvents/CLLocation+MMEMobileEvents.m"; sourceTree = SOURCE_ROOT; }; 40834BC41FE05D6F00C1BD0D /* MMECategoryLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MMECategoryLoader.m; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMECategoryLoader.m"; sourceTree = SOURCE_ROOT; }; @@ -1031,8 +1029,12 @@ 96F3F73B1F5711F1003E2D2C /* MGLUserLocationHeadingIndicator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGLUserLocationHeadingIndicator.h; sourceTree = "<group>"; }; AC518DFD201BB55A00EBC820 /* MGLTelemetryConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGLTelemetryConfig.h; sourceTree = "<group>"; }; AC518DFE201BB55A00EBC820 /* MGLTelemetryConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MGLTelemetryConfig.m; sourceTree = "<group>"; }; - ACF969F020CB04E500B23FB7 /* MMEEventsService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MMEEventsService.m; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMEEventsService.m"; sourceTree = SOURCE_ROOT; }; - ACF969F120CB04E500B23FB7 /* MMEEventsService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MMEEventsService.h; path = "vendor/mapbox-events-ios/MapboxMobileEvents/MMEEventsService.h"; sourceTree = SOURCE_ROOT; }; + ACA65F442140667D00537748 /* MMETrustKitProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMETrustKitProvider.h; sourceTree = "<group>"; }; + ACA65F452140668100537748 /* MMETrustKitProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MMETrustKitProvider.m; sourceTree = "<group>"; }; + ACA65F49214066A900537748 /* MMEHashProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MMEHashProvider.m; sourceTree = "<group>"; }; + ACA65F4A214066AB00537748 /* MMEHashProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMEHashProvider.h; sourceTree = "<group>"; }; + ACA65F4F214066E200537748 /* MMEConfigurator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMEConfigurator.h; sourceTree = "<group>"; }; + ACA65F50214066E600537748 /* MMEConfigurator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MMEConfigurator.m; sourceTree = "<group>"; }; CA0C27912076C804001CE5B7 /* MGLShapeSourceTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MGLShapeSourceTests.m; sourceTree = "<group>"; }; CA0C27932076CA19001CE5B7 /* MGLMapViewIntegrationTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MGLMapViewIntegrationTest.m; sourceTree = "<group>"; }; CA0C27952076CA50001CE5B7 /* MGLMapViewIntegrationTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MGLMapViewIntegrationTest.h; sourceTree = "<group>"; }; @@ -1620,10 +1622,14 @@ 40834BB71FE05D6D00C1BD0D /* MMEEventLogger.m */, 406E99B51FFEFED600D9FFCC /* MMEEventLogReportViewController.h */, 406E99B11FFEFED500D9FFCC /* MMEEventLogReportViewController.m */, - ACF969F120CB04E500B23FB7 /* MMEEventsService.h */, - ACF969F020CB04E500B23FB7 /* MMEEventsService.m */, 40834BBB1FE05D6E00C1BD0D /* MMEEventsConfiguration.h */, 40834BB21FE05D6D00C1BD0D /* MMEEventsConfiguration.m */, + ACA65F4A214066AB00537748 /* MMEHashProvider.h */, + ACA65F49214066A900537748 /* MMEHashProvider.m */, + ACA65F442140667D00537748 /* MMETrustKitProvider.h */, + ACA65F452140668100537748 /* MMETrustKitProvider.m */, + ACA65F4F214066E200537748 /* MMEConfigurator.h */, + ACA65F50214066E600537748 /* MMEConfigurator.m */, 40834BA31FE05D6B00C1BD0D /* MMEEventsManager.h */, 40834BA41FE05D6B00C1BD0D /* MMEEventsManager.m */, 40834BB31FE05D6D00C1BD0D /* MMELocationManager.h */, @@ -1634,8 +1640,6 @@ 40834BC61FE05D7000C1BD0D /* MMENSURLSessionWrapper.m */, 40834BC91FE05D7000C1BD0D /* MMETimerManager.h */, 40834BB91FE05D6E00C1BD0D /* MMETimerManager.m */, - 40834BA71FE05D6B00C1BD0D /* MMETrustKitWrapper.h */, - 40834BC11FE05D6F00C1BD0D /* MMETrustKitWrapper.m */, 40834BB61FE05D6D00C1BD0D /* MMETypes.h */, 40834BBD1FE05D6E00C1BD0D /* MMETypes.m */, 40834BBE1FE05D6E00C1BD0D /* MMEUIApplicationWrapper.h */, @@ -2356,7 +2360,6 @@ 3538AA1D1D542239008EC33D /* MGLForegroundStyleLayer.h in Headers */, DA8847F51CBAFA5100AB86E3 /* MGLOfflineRegion.h in Headers */, DA737EE11D056A4E005BDA16 /* MGLMapViewDelegate.h in Headers */, - ACF969F420CB04E600B23FB7 /* MMEEventsService.h in Headers */, 92FC0AEC207CEE16007B6B54 /* MGLShapeOfflineRegion_Private.h in Headers */, AC518DFF201BB55A00EBC820 /* MGLTelemetryConfig.h in Headers */, DA88481B1CBAFA6200AB86E3 /* MGLGeometry_Private.h in Headers */, @@ -2517,7 +2520,6 @@ 3EA934623AD0000B7D99C3FB /* MGLRendererConfiguration.h in Headers */, DACA86272019218600E9693A /* MGLRasterDEMSource.h in Headers */, 9621F2502091020E005B3800 /* NSExpression+MGLAdditions.h in Headers */, - ACF969F520CB04E600B23FB7 /* MMEEventsService.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3013,6 +3015,7 @@ 40834BF11FE05E1800C1BD0D /* MMENSDateWrapper.m in Sources */, 40834C461FE05F7500C1BD0D /* TSKPinFailureReport.m in Sources */, 406E99B91FFEFF1B00D9FFCC /* MMEEventLogReportViewController.m in Sources */, + ACA65F53214066E600537748 /* MMEConfigurator.m in Sources */, 40834BE61FE05E1800C1BD0D /* CLLocation+MMEMobileEvents.m in Sources */, DA00FC901D5EEB0D009AABC8 /* MGLAttributionInfo.mm in Sources */, DA88482D1CBAFA6200AB86E3 /* NSBundle+MGLAdditions.m in Sources */, @@ -3037,6 +3040,7 @@ 0778DD441F67556C00A73B34 /* MGLComputedShapeSource.mm in Sources */, 3557F7B21E1D27D300CCA5E6 /* MGLDistanceFormatter.m in Sources */, 40834C4B1FE05F7500C1BD0D /* TSKPinningValidatorResult.m in Sources */, + ACA65F472140669000537748 /* MMETrustKitProvider.m in Sources */, 40834BE71FE05E1800C1BD0D /* MMEAPIClient.m in Sources */, DA8848591CBAFB9800AB86E3 /* MGLMapView.mm in Sources */, DA8848501CBAFB9800AB86E3 /* MGLAnnotationImage.m in Sources */, @@ -3045,7 +3049,6 @@ DA35A2B31CCA141D00E826B2 /* MGLCompassDirectionFormatter.m in Sources */, DD0902A91DB1929D00C5BDCE /* MGLNetworkConfiguration.m in Sources */, 35D13AB91D3D15E300AFB4E0 /* MGLStyleLayer.mm in Sources */, - ACF969F220CB04E600B23FB7 /* MMEEventsService.m in Sources */, 40834C4C1FE05F7500C1BD0D /* TSKTrustKitConfig.m in Sources */, DA35A2CB1CCAAAD200E826B2 /* NSValue+MGLAdditions.m in Sources */, 071BBB001EE7613F001FB02A /* MGLImageSource.mm in Sources */, @@ -3082,7 +3085,6 @@ DA8848301CBAFA6200AB86E3 /* NSProcessInfo+MGLAdditions.m in Sources */, 40834BED1FE05E1800C1BD0D /* MMEEventLogger.m in Sources */, 353AFA161D65AB17005A69F4 /* NSDate+MGLAdditions.mm in Sources */, - 40834BF41FE05E1800C1BD0D /* MMETrustKitWrapper.m in Sources */, 1FCAE2A420B872A400C577DD /* MGLLocationManager.m in Sources */, 40834BEF1FE05E1800C1BD0D /* MMEEventsManager.m in Sources */, 35D13AC51D3D19DD00AFB4E0 /* MGLFillStyleLayer.mm in Sources */, @@ -3095,6 +3097,7 @@ DA72620D1DEEE3480043BB89 /* MGLOpenGLStyleLayer.mm in Sources */, DA88481A1CBAFA6200AB86E3 /* MGLAccountManager.m in Sources */, 3510FFFB1D6DCC4700F413B2 /* NSCompoundPredicate+MGLAdditions.mm in Sources */, + ACA65F4B214066AC00537748 /* MMEHashProvider.m in Sources */, AC518E03201BB56000EBC820 /* MGLTelemetryConfig.m in Sources */, DA8848271CBAFA6200AB86E3 /* MGLPolyline.mm in Sources */, DA8848581CBAFB9800AB86E3 /* MGLMapboxEvents.m in Sources */, @@ -3142,6 +3145,7 @@ 40834C531FE05F7600C1BD0D /* TSKPinFailureReport.m in Sources */, 40834BFA1FE05E1800C1BD0D /* CLLocation+MMEMobileEvents.m in Sources */, 406E99BA1FFEFF1B00D9FFCC /* MMEEventLogReportViewController.m in Sources */, + ACA65F54214066E600537748 /* MMEConfigurator.m in Sources */, DAA4E4201CBB730400178DFB /* MGLOfflinePack.mm in Sources */, 966FCF551F3C323500F2B6DE /* MGLUserLocationHeadingArrowLayer.m in Sources */, DAA4E4331CBB730400178DFB /* MGLUserLocation.m in Sources */, @@ -3166,6 +3170,7 @@ DAA4E41D1CBB730400178DFB /* MGLGeometry.mm in Sources */, 40834C581FE05F7600C1BD0D /* TSKPinningValidatorResult.m in Sources */, 40834BFB1FE05E1800C1BD0D /* MMEAPIClient.m in Sources */, + ACA65F482140669100537748 /* MMETrustKitProvider.m in Sources */, DAA4E41F1CBB730400178DFB /* MGLMultiPoint.mm in Sources */, DD0902AA1DB1929D00C5BDCE /* MGLNetworkConfiguration.m in Sources */, 40834C041FE05E1800C1BD0D /* MMELocationManager.m in Sources */, @@ -3174,7 +3179,6 @@ 071BBAFF1EE7613E001FB02A /* MGLImageSource.mm in Sources */, DA35A2CC1CCAAAD200E826B2 /* NSValue+MGLAdditions.m in Sources */, 40834C591FE05F7600C1BD0D /* TSKTrustKitConfig.m in Sources */, - ACF969F320CB04E600B23FB7 /* MMEEventsService.m in Sources */, 408AA8591DAEDA1E00022900 /* NSDictionary+MGLAdditions.mm in Sources */, DAA4E4281CBB730400178DFB /* MGLTypes.m in Sources */, DA35A2A21CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */, @@ -3211,7 +3215,6 @@ 353AFA171D65AB17005A69F4 /* NSDate+MGLAdditions.mm in Sources */, 40834C011FE05E1800C1BD0D /* MMEEventLogger.m in Sources */, 35D13AC61D3D19DD00AFB4E0 /* MGLFillStyleLayer.mm in Sources */, - 40834C081FE05E1800C1BD0D /* MMETrustKitWrapper.m in Sources */, 1FCAE2A520B872A400C577DD /* MGLLocationManager.m in Sources */, 40834C031FE05E1800C1BD0D /* MMEEventsManager.m in Sources */, DAA4E42A1CBB730400178DFB /* NSProcessInfo+MGLAdditions.m in Sources */, @@ -3224,6 +3227,7 @@ DAA4E42F1CBB730400178DFB /* MGLCompactCalloutView.m in Sources */, 3510FFFC1D6DCC4700F413B2 /* NSCompoundPredicate+MGLAdditions.mm in Sources */, AC518E04201BB56100EBC820 /* MGLTelemetryConfig.m in Sources */, + ACA65F4C214066AC00537748 /* MMEHashProvider.m in Sources */, DAA4E4271CBB730400178DFB /* MGLTilePyramidOfflineRegion.mm in Sources */, DAA4E41C1CBB730400178DFB /* MGLAccountManager.m in Sources */, 35CE61851D4165D9004F2359 /* UIColor+MGLAdditions.mm in Sources */, diff --git a/platform/ios/src/MMEConfigurator.h b/platform/ios/src/MMEConfigurator.h new file mode 100644 index 0000000000..6b94fa65d2 --- /dev/null +++ b/platform/ios/src/MMEConfigurator.h @@ -0,0 +1,20 @@ +#import <Foundation/Foundation.h> +#import "MMEEventsConfiguration.h" +#import "MMEAPIClient.h" + +@protocol MMEConfiguratorDelegate <NSObject> + +- (void)configurator:(id)updater didUpdate:(MMEEventsConfiguration *)configuration; + +@end + +@interface MMEConfigurator : NSObject + +- (instancetype)init NS_UNAVAILABLE; +- (instancetype)initWithTimeInterval:(NSTimeInterval)timeInterval NS_DESIGNATED_INITIALIZER; +- (void)updateConfigurationFromAPIClient:(MMEAPIClient *)apiClient; + +@property (nonatomic) NSTimeInterval timeInterval; +@property (nonatomic, weak) id <MMEConfiguratorDelegate> delegate; + +@end diff --git a/platform/ios/src/MMEConfigurator.m b/platform/ios/src/MMEConfigurator.m new file mode 100644 index 0000000000..fd594c7bd2 --- /dev/null +++ b/platform/ios/src/MMEConfigurator.m @@ -0,0 +1,36 @@ +#import "MMEConfigurator.h" +#import "MMEAPIClient.h" + +@interface MMEConfigurator () + +@property (nonatomic) NSDate *configurationRotationDate; +@property (nonatomic) MMEEventsConfiguration *configuration; + +@end + +@implementation MMEConfigurator + +- (instancetype)initWithTimeInterval:(NSTimeInterval)timeInterval { + if (self = [super init]) { + _timeInterval = timeInterval; + } + return self; +} + +- (void)updateConfigurationFromAPIClient:(MMEAPIClient *)apiClient { + if (self.configurationRotationDate && [[NSDate date] timeIntervalSinceDate:self.configurationRotationDate] >= 0) { + self.configuration = nil; + } + if (!self.configuration) { + [apiClient getConfigurationWithCompletionHandler:^(NSError * _Nullable error, NSData * _Nullable data) { + if (!error) { + self.configuration = [MMEEventsConfiguration configurationFromData:data]; + + [self.delegate configurator:self didUpdate:self.configuration]; + self.configurationRotationDate = [[NSDate date] dateByAddingTimeInterval:self.timeInterval]; + } + }]; + } +} + +@end diff --git a/platform/ios/src/MMEHashProvider.h b/platform/ios/src/MMEHashProvider.h new file mode 100644 index 0000000000..5824e15f40 --- /dev/null +++ b/platform/ios/src/MMEHashProvider.h @@ -0,0 +1,11 @@ +#import <Foundation/Foundation.h> +#import "MMEEventsConfiguration.h" + +@interface MMEHashProvider : NSObject + +@property (nonatomic, readonly) NSArray *cnHashes; +@property (nonatomic, readonly) NSArray *comHashes; + +- (void)updateHashesWithConfiguration:(MMEEventsConfiguration *)configuration; + +@end diff --git a/platform/ios/src/MMEHashProvider.m b/platform/ios/src/MMEHashProvider.m new file mode 100644 index 0000000000..efb274710d --- /dev/null +++ b/platform/ios/src/MMEHashProvider.m @@ -0,0 +1,156 @@ +#import "MMEHashProvider.h" + +@interface MMEHashProvider() + +@property (nonatomic, readwrite) NSArray *cnHashes; +@property (nonatomic, readwrite) NSArray *comHashes; + +@end + +@implementation MMEHashProvider + +- (instancetype)init { + self = [super init]; + if (self) { + _cnHashes = @[ + @"T4XyKSRwZ5icOqGmJUXiDYGa+SaXKTGQXZwhqpwNTEo=", + @"KlV7emqpeM6V2MtDEzSDzcIob6VwkdWHiVsNQQzTIeo=", + @"16TK3iq9ZB4AukmDemjUyhcPTUnsSuqd5OB5zOrheZY=", + @"F16cPFncMDkB4XbRfK64H1dqncNg6JOdd+w2qElR/hM=", + @"45PQwWtFAHQd/cVzMVuhkwOQwCF+JE4ZViA4gkzvWeQ=", + @"mCzfopN5vqaerktI/172w8T7qw2sfRXgUL4Z7xA2e/c=", + @"rFFCqIOOKu7KH1v73IHb6mzZQth7cVvVDaH+EjkNfKM=", + @"pZBpEiH9vLwSICbogdpgyGG3NCjVKw4oG2rEWRf03Vk=", + @"gPgpSOzaLjbIpDLlh302x2irQTzWfsQqIWhUsreMMzI=", + @"wLHqvUDDQfFymRVS2O6AF5nkuAY+KJZpI4+pohK+SUE=", + @"yAEZR9ydeTrMlcUp91PHdmJ3lBa86IWsKRwiM0KzS6Q=", + @"k3NZbP68SikfwacfWDm4s3YJDsPVWJSOF4GlCWo5RJA=", + @"1PRG2KOhfDE+xMS1fxft5CtQO99mzqhpl4gPz/64IxQ=", + @"FBibSsaWfYYIkij1x4Oc9Lt0jHl+6AhBTWAypcOphhc=", + @"X0K6GmWp00Pb0YATdlCPeXaZR/NxxHTv41OAEkymkbU=", + @"DU/+Q9Itbb4WuSfuTvOgPtxtF6eAbTH7pUFn17/o5E0=", + @"BYGHyEqtaJEZn+02i4jy4dGRRFNr6xckQjTL7DMZFes=", + @"zr1/pj8y4FUbrxIYRaHVZWvhsMPzDVW0R+ljPHrX5Sw=", + @"fS9IR9OWsirEnSAqParPG0BzZJ+Dk4CiHfPv1vEjrf0=", + @"f1B7KmHknBSXNjTC8ac/Hf7hwU2goerE53TJppr0OH0=", + @"OKbbVU/+cTlszrJkxKaQraFAoVyjPOqa5Uq8Ndd4AUg=", + @"I0xGZF5s9kGHJHz6nKN+nYJKwf8ev1MdWkGt7EI7A7g=", + @"anATIIIqUd4o7Asto7X7OEJ+m7YTUr0aJKHZXqL92w0=", + @"JXFJ+lQK4GwJpJlHSZ2ZAR5luZDwMdaa2hJyhqHc1L8=", + @"64k4IzkPceL/hQywCCvJLQds8FPMPwtclhFOR/taKAQ=", + @"c079Pt5XXCwSv+pROEF+YW5gRoyzJ248bPxVLrUYkHM=", + @"46ofOPUGR3SYcMB+MmXqowYKan/c18LBTV2sAk13WKc=", + @"4qwz7KaBHxEX+YxO8STVowTg2BxlOd98GNU5feRjdjU=", + @"hp54/fY89ziuBBp1zv3YaC8H9/G8/Xp97hdzRVdcqQ0=", + @"BliQkuPecuHEp3FN3r1HogAkmsLtZz3ZImqLSpJoJzs=", + @"GayCH1YATG/OS5h1bq79XRmcq/aqwoObu2OYfPN7vQc=", + @"fW6I4HEBwa1Pwi1dldkb+ljs4re5ZY2JbsCiCxCOCgI=", + @"GcqilfT04N2efVIWlzJWO04gdpwYC4sLnOx3TJIKA9E=", + @"+1CHLRDE6ehp61cm8+NDMvd32z0Qc4bgnZRLH0OjE94=", + @"4vJWNxtoMLAY35dbzKeDI+4IAFOW97WNkTWnNMtY5TA=", + @"1YjWX9tieIA1iGkJhm7UapH6PiwGViZBWrXA3UJUAWc=", + @"X+RKpA7gtptrZ9yI1C96Isw5RV8dQyx5z7I/xfCaBl8=", + @"hqFsdAuHVvjX3NuaUBVZao94V30SdXLAsG1O0ajgixw=", + @"wYl9ZFQd2LWKfjDuEQxo7S0CcrPkP9A3vb20fbHf1ZQ=", + @"Y3ax6OgoQkcStQZ2hrIAqMDbaEEwX6xZfMZEnVcn/4k=", + @"taSOM7qPorxZ64Whrl5ZiNCGlZqLrVPOIBwPr/Nkw6U=", + @"KB5X/PyAAiRc7W/NjUyd6xbDdibuOTWBJB2MqHHF/Ao=", + @"hRQ7yTW/P5l76uNNP3MXNgshlmcbDNHMtBxCbUtGAWE=", + @"AoclhkrtKF+qHKKq0wUS4oXLwlJtWlywtiLndnNzS2U=", + @"5ikvGB5KkNlwesHRqjYvkZGlxP6OLMbaCkpflTM4DNM=", + @"qK2GksTrZ7LXDBkNWH6FnuNGxgxPpwNSK+NgknU7H1U=", + @"K3qyQniCBiGmfutYDE7ryDY2YoTORgp4DOgK1laOqfo=", + @"B7quINbFSUen02LQ9kwtYXnsJtixTpKafzXFkcRb7RU=", + @"Kc7lrHTlRfLaeRaEof6mKKmBH2eYHMYkxOy3yGlzUWg=", + @"7s1BUHi/AW/beA2jXamNTUgbDMH4gVPR9diIhnN1o0Q=", + //Digicert, 2018, SHA1 Fingerprint=5F:AB:D8:86:2E:7D:8D:F3:57:6B:D8:F2:F4:57:7B:71:41:90:E3:96 + @"3coVlMAEAYhOEJHgXwloiPDGaF+ZfxHZbVoK8AYYWVg=", + //Digicert, 2018, SHA1 Fingerprint=1F:B8:6B:11:68:EC:74:31:54:06:2E:8C:9C:C5:B1:71:A4:B7:CC:B4 + @"5kJvNEMw0KjrCAu7eXY5HZdvyCS13BbA0VJG1RSP91w=", + //GeoTrust, 2018, SHA1 Fingerprint=57:46:0E:82:B0:3F:E7:2C:AE:AC:CA:AF:2B:1D:DA:25:B4:B3:8A:4A + @"+O+QJCmvoB/FkTd0/5FvmMSvFbMqjYU+Txrw1lyGkUQ=", + //GeoTrust, 2018, SHA1 Fingerprint=7C:CC:2A:87:E3:94:9F:20:57:2B:18:48:29:80:50:5F:A9:0C:AC:3B + @"zUIraRNo+4JoAYA7ROeWjARtIoN4rIEbCpfCRQT6N6A=", + ]; + + _comHashes = @[ + @"6+ErFga5JfYfvwx2JbEJJNmUXJFnXIKllrbPKmvWqNc=", + @"vLkrnr8JTAVaYPwY/jBkKCe+YQWleaHPU3Tlqom+gCg=", + @"UofZo86l1bDjTiHyKXurqgfkYaYjtjyTrOYYR68XLG8=", + @"wSE/ahOwDVj7tMLMOjoAr1gIoBoWrUhQOBliQ82/bGk=", + @"RKHNDCiwHVTR5vKksBOcpfaojpsfCMFQ9MAE01ac8Tk=", + @"enUlaLivnHjrJBFVcvr8gwVTVcjXWOv8n96jU5towo8=", + @"Cul962ner+uZmwBQybZi0CHlFiZ3uFnZJe/lKqnqL6k=", + @"WswAtgVhFf6bIpavbiBL2GOP+e/zWqnECQrK17qKOLU=", + @"O+4Y2hugHTXgiaf6s2Zt4Vc7M3l3lLLu+6ugYGLI1x0=", + @"tfeXXd8OZXRbuZgeOanQAsgQlgdh4GBIIyCDvULtwLA=", + @"A+vWP93KGIMHeADZtj9S/mSIQtvzGz5G671aRKf3NlY=", + @"malXG7/2Qay6uSfQxLGm2Lob8MVjSPkzNrtdnwpHhuA=", + @"zfBsiWe9eHeGevBcYtrGiPQ0zCr2IvB08S7ESSWqVN8=", + @"o8bx+G1dysezoWAvOXBsl4/E6LcABFSqy6J8si5Cryk=", + @"YrsgZS2RzrUtunIndi031Ye/HyMn7WQQweav4xgR6qk=", + @"HQqyJQU7b+X/v1297LXK4TxKMwdC72Qzqy7Jx5W3LgA=", + @"00lmpHvG3dPLQ/hsewpHNLsK9vruPV+0hcQAl7FmRxI=", + @"lrmOBGfUptzfKOgSLUCKRvhfYNLH94x2ZKaX5ijBbTs=", + @"nf4V9/G5BE3bNy7TDkvqc7MaIkfcA625hjtQM7FJkcM=", + @"/0K/iJYfENe5o5arEhWfT7sailUd/QBY3ws0wD9dggU=", + @"SDnReAbazEH28n7pV5M/8A0M8ggJrO8/teE7oCJ7OGU=", + @"gruIKpo+vo5XKJ8t6yoPeNrpjWSsdnyaxkSLe/vSz2U=", + @"a4CTRze+fw6iUhnKA7Ph2Qt41eco42RBFcHITnYcNoY=", + @"8wc+3VCcufdq1JzdsxtaleFLA/u/peBtjfdPOeFKsIo=", + @"a5foMaNKMbLYMnB079u3G2oxhSRSHilwljENMsBiQwE=", + @"r1t+lUCzuncTnfM/QtclWIA7zhN8AYYUWlIimDhI0HM=", + @"dFS5RaEoQf7naXnfYnP1AuQMxyJwygHAXRG4bOZD6OM=", + @"zSAUiJZbnZdUu2bKUNf21r7RXJPzHGuMFxwPx7aLhfg=", + @"UmlVTDcbkUR075i+thE9Q1fOxPIGn8PmQ51R+XL4fK8=", + @"Zx+aoQE1cmiSN1TwvCo1Qpvuwjbq35eH4DsmkXKacIo=", + @"TAOftRoKGrOsFjgCtUzHswja6MykOf9UZaoljB6TYso=", + @"tW+psPLgOjPSsSMZPxc/PDGw0vBIpIZz32av4NEzVjc=", + @"35zTxuHmPcNqJ5OSW02V+9ghV3TJYmBI3arMTuC1z9w=", + @"ciiuiChtsyaTUEkDZ/N1KJaAgr4bIAIM13R0B9NVt6M=", + @"cwUwdyqZ6YOMWX5zcJcYarQ5okvMLxj/Rd4dUpkRFHM=", + @"tShTLeS4OltlKlE3MQUvXlJsGrCFgFo/nXvl5t0qba8=", + @"qy6BTLAetvqNOFfT/M3pZSRo9FRaF8KudDGgHy8Fxis=", + @"AOOutVCG4tDUsn13XyTAsx3cTZtIGajdCxSJoGZ+jp4=", + @"0LqMhNP7UHpAVl6+ON7AzsqeMWZb1ElB5AL0kPS6ktI=", + @"Zqng4S5spV0NeKT8MrE8CJFMBTP188PG9iEi7/9HDyo=", + @"i/4rsupujT8Ww/2yIGJ3wb6R7GDw2FHPyOM5sWh87DQ=", + @"cvlddgcP0XDOIKnCr+h+2zy2Tt8pnCPdw1l+PiEyS5o=", + @"UhpcxVytZbC4dx2Dnjjg6k02Ylf5jLo3C3AxchaKhh0=", + @"ZJfLxFuRg/1giSVrnj6aZmU5T//PP2eU7NLXXeqdH7s=", + @"ZnL4xB/aLV5W0YSZVefBRZSRTeoLzjJkk7CBvz75/m8=", + @"d4GNs3j9rUym4ogDTWX7AXTaI3K3gt46S2tvL6Hh/bQ=", + @"R9Wa2ON8VRWRF5OyDDaSDMhf7ysK1ykV1XSq20RMDFM=", + @"QMMBDJh3g1QgkGV6m+T4i2weBGj/W2+fVG73slK3mJE=", + @"ENU8M1yItdL5EP0G+I4hz4iuGlAUIHWCe4ipwXB/c/A=", + @"PA1lecwXNRXY/Vpy0VN+jQEYChN4hCAF36oB0Ygx3wQ=", + // Digicert, 2016, SHA1 Fingerprint=0A:80:27:6E:1C:A6:5D:ED:1D:C2:24:E7:7D:0C:A7:24:0B:51:C8:54 + @"Tb0uHZ/KQjWh8N9+CZFLc4zx36LONQ55l6laDi1qtT4=", + // Digicert, 2017, SHA1 Fingerprint=E2:8E:94:45:E0:B7:2F:28:62:D3:82:70:1F:C9:62:17:F2:9D:78:68 + @"yGp2XoimPmIK24X3bNV1IaK+HqvbGEgqar5nauDdC5E=", + // Geotrust, 2016, SHA1 Fingerprint=1A:62:1C:B8:1F:05:DD:02:A9:24:77:94:6C:B4:1B:53:BF:1D:73:6C + @"BhynraKizavqoC5U26qgYuxLZst6pCu9J5stfL6RSYY=", + // Geotrust, 2017, SHA1 Fingerprint=20:CE:AB:72:3C:51:08:B2:8A:AA:AB:B9:EE:9A:9B:E8:FD:C5:7C:F6 + @"yJLOJQLNTPNSOh3Btyg9UA1icIoZZssWzG0UmVEJFfA=", + ]; + } + return self; +} + +- (void)updateHashesWithConfiguration:(MMEEventsConfiguration *)configuration { + if (configuration.blacklist.count > 0) { + NSMutableArray *cnHashesMutable = [NSMutableArray arrayWithArray:self.cnHashes]; + [cnHashesMutable removeObjectsInArray:configuration.blacklist]; + self.cnHashes = [cnHashesMutable copy]; + + NSMutableArray *comHashesMutable = [NSMutableArray arrayWithArray:self.comHashes]; + [comHashesMutable removeObjectsInArray:configuration.blacklist]; + self.comHashes = [comHashesMutable copy]; + } +} + + + + + +@end diff --git a/platform/ios/src/MMETrustKitProvider.h b/platform/ios/src/MMETrustKitProvider.h new file mode 100644 index 0000000000..ccab890865 --- /dev/null +++ b/platform/ios/src/MMETrustKitProvider.h @@ -0,0 +1,10 @@ +#import <Foundation/Foundation.h> +#import "MMEEventsConfiguration.h" + +@class TrustKit; + +@interface MMETrustKitProvider : NSObject + ++ (TrustKit *)trustKitWithUpdatedConfiguration:(MMEEventsConfiguration *)configuration; + +@end diff --git a/platform/ios/src/MMETrustKitProvider.m b/platform/ios/src/MMETrustKitProvider.m new file mode 100644 index 0000000000..8d332d9e5e --- /dev/null +++ b/platform/ios/src/MMETrustKitProvider.m @@ -0,0 +1,58 @@ +#import "MMETrustKitProvider.h" +#import "MMEHashProvider.h" +#import "MMEEventLogger.h" +#import "TrustKit.h" + +@implementation MMETrustKitProvider + ++ (TrustKit *)trustKitWithUpdatedConfiguration:(MMEEventsConfiguration *)configuration { + + if (![MMEEventLogger.sharedLogger isEnabled]) { + void (^loggerBlock)(NSString *) = ^void(NSString *message){}; + [TrustKit setLoggerBlock:loggerBlock]; + } + + MMEHashProvider *hashProvider = [[MMEHashProvider alloc] init]; + if (configuration) { + [hashProvider updateHashesWithConfiguration:configuration]; + } + + NSDictionary *trustKitConfig = + @{ + kTSKSwizzleNetworkDelegates: @NO, + kTSKPinnedDomains: @{ + /* Production */ + @"events.mapbox.com" : @{ + kTSKEnforcePinning:@YES, + kTSKDisableDefaultReportUri:@YES, + kTSKPublicKeyAlgorithms : @[kTSKAlgorithmRsa2048], + kTSKPublicKeyHashes : + hashProvider.comHashes + }, + @"events.mapbox.cn" : @{ + kTSKEnforcePinning:@YES, + kTSKDisableDefaultReportUri:@YES, + kTSKPublicKeyAlgorithms : @[kTSKAlgorithmRsa2048], + kTSKPublicKeyHashes : + hashProvider.cnHashes + }, + /* Staging */ + @"api-events-staging.tilestream.net" : @{ + kTSKEnforcePinning:@YES, + kTSKPublicKeyAlgorithms : @[kTSKAlgorithmRsa2048], + kTSKPublicKeyHashes : @[ + // Digicert, SHA1 Fingerprint=C6:1B:FE:8C:59:8F:29:F0:36:2E:88:BB:A2:CD:08:3B:F6:59:08:22 + @"3euxrJOrEZI15R4104UsiAkDqe007EPyZ6eTL/XxdAY=", + // Stub: TrustKit requires 2 hashes for every endpoint + @"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + ] + }, + @"api.mapbox.com" : @{ + kTSKExcludeSubdomainFromParentPolicy: @YES + }, + } + }; + return [[TrustKit alloc] initWithConfiguration:trustKitConfig]; +} + +@end |