diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2017-03-13 02:13:39 -0700 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2019-07-28 15:15:56 -0700 |
commit | c2ab83aedf04737e0bedddd44e483b837e22e8d5 (patch) | |
tree | 5159d218f7cdffc630866b4499c9a4f3b3e58fe1 | |
parent | b6dd995813625a89bba8937c512cdf1175827d66 (diff) | |
download | qtlocation-mapboxgl-c2ab83aedf04737e0bedddd44e483b837e22e8d5.tar.gz |
[tvos] Added tvOS support
Allow mbgl-platform-core to be used as a tvOS static library. Added a tvOS dynamic framework target and corresponding unit test target. Conditionally omitted lots of code specific to iOS, particularly regarding Core Location and certain gesture recognizers that are incompatible with the Apple Remote. Also omitted the entirety of Mapbox Telemetry and Fabric integration.
28 files changed, 1390 insertions, 71 deletions
diff --git a/platform/darwin/src/MGLAccountManager.m b/platform/darwin/src/MGLAccountManager.m index 69170459bc..cf10d75a5f 100644 --- a/platform/darwin/src/MGLAccountManager.m +++ b/platform/darwin/src/MGLAccountManager.m @@ -5,7 +5,7 @@ #import "NSProcessInfo+MGLAdditions.h" #endif -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS #import "MGLMapboxEvents.h" #import "MBXSKUToken.h" @@ -72,7 +72,7 @@ static NSString * const MGLAccountManagerExternalMethodName = @"skuToken"; [MGLAccountManager sharedManager].accessToken = accessToken; -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS dispatch_async(dispatch_get_main_queue(), ^{ [MGLMapboxEvents setupWithAccessToken:accessToken]; }); @@ -93,7 +93,7 @@ static NSString * const MGLAccountManagerExternalMethodName = @"skuToken"; #pragma mark - SKU Tokens -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS + (NSString *)skuToken { Class mbx = NSClassFromString(MGLAccountManagerExternalClassName); diff --git a/platform/darwin/src/MGLAccountManager_Private.h b/platform/darwin/src/MGLAccountManager_Private.h index 3fd45f1ae8..6927ab8726 100644 --- a/platform/darwin/src/MGLAccountManager_Private.h +++ b/platform/darwin/src/MGLAccountManager_Private.h @@ -13,7 +13,7 @@ NS_ASSUME_NONNULL_BEGIN /// The API base URL that is used to access Mapbox resources. The default base URL is `https://api.mapbox.com`. If `nil`, the Mapbox default base API URL is in use. @property (atomic, readwrite, nullable) NSURL *apiBaseURL; -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS /// The current global SKU. @property (class, atomic, readonly) NSString *skuToken; #endif diff --git a/platform/darwin/src/MGLLocationManager.h b/platform/darwin/src/MGLLocationManager.h index ecb9192981..4514d89460 100644 --- a/platform/darwin/src/MGLLocationManager.h +++ b/platform/darwin/src/MGLLocationManager.h @@ -58,6 +58,7 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)setDesiredAccuracy:(CLLocationAccuracy)desiredAccuracy; +#if !TARGET_OS_TV /** Specifies the type of user activity associated with the location updates. @@ -77,6 +78,7 @@ NS_ASSUME_NONNULL_BEGIN @param activityType The location's manager activity type. */ - (void)setActivityType:(CLActivityType)activityType; +#endif @required @@ -97,10 +99,12 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, readonly) CLAuthorizationStatus authorizationStatus; +#if !TARGET_OS_TV /** Requests permission to use the location services whenever the app is running. */ - (void)requestAlwaysAuthorization; +#endif /** Requests permission to use the location services while the app is in @@ -110,16 +114,19 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark Initiating Location Updates +#if !TARGET_OS_TV /** Starts the generation of location updates that reports the user's current location. */ - (void)startUpdatingLocation; +#endif /** Stops the generation of location updates. */ - (void)stopUpdatingLocation; +#if !TARGET_OS_TV #pragma mark Initiating Heading Updates /** @@ -141,6 +148,7 @@ NS_ASSUME_NONNULL_BEGIN Dissmisses immediately the heading calibration view from screen. */ - (void)dismissHeadingCalibrationDisplay; +#endif @end @@ -167,6 +175,7 @@ NS_ASSUME_NONNULL_BEGIN #pragma mark Responding to Heading Updates +#if !TARGET_OS_TV /** Notifies the delegate with the new heading data. @@ -182,6 +191,7 @@ NS_ASSUME_NONNULL_BEGIN @param manager The location manager reporting the calibration. */ - (BOOL)locationManagerShouldDisplayHeadingCalibration:(id<MGLLocationManager>)manager; +#endif #pragma mark Responding to Location Updates Errors diff --git a/platform/darwin/src/MGLLocationManager.m b/platform/darwin/src/MGLLocationManager.m index 29e3ccaa30..3717efe809 100644 --- a/platform/darwin/src/MGLLocationManager.m +++ b/platform/darwin/src/MGLLocationManager.m @@ -19,6 +19,7 @@ @synthesize delegate; +#if !TARGET_OS_TV - (void)setHeadingOrientation:(CLDeviceOrientation)headingOrientation { self.locationManager.headingOrientation = headingOrientation; @@ -28,6 +29,7 @@ { return self.locationManager.headingOrientation; } +#endif - (void)setDesiredAccuracy:(CLLocationAccuracy)desiredAccuracy { self.locationManager.desiredAccuracy = desiredAccuracy; @@ -41,6 +43,7 @@ return [CLLocationManager authorizationStatus]; } +#if !TARGET_OS_TV - (void)setActivityType:(CLActivityType)activityType { self.locationManager.activityType = activityType; } @@ -56,11 +59,13 @@ - (void)requestAlwaysAuthorization { [self.locationManager requestAlwaysAuthorization]; } +#endif - (void)requestWhenInUseAuthorization { [self.locationManager requestWhenInUseAuthorization]; } +#if !TARGET_OS_TV - (void)startUpdatingHeading { [self.locationManager startUpdatingHeading]; } @@ -72,6 +77,7 @@ - (void)stopUpdatingHeading { [self.locationManager stopUpdatingHeading]; } +#endif - (void)stopUpdatingLocation { [self.locationManager stopUpdatingLocation]; @@ -80,7 +86,9 @@ - (void)dealloc { [self.locationManager stopUpdatingLocation]; +#if !TARGET_OS_TV [self.locationManager stopUpdatingHeading]; +#endif self.locationManager.delegate = nil; self.delegate = nil; } @@ -93,6 +101,7 @@ } } +#if !TARGET_OS_TV - (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading { if ([self.delegate respondsToSelector:@selector(locationManager:didUpdateHeading:)]) { [self.delegate locationManager:self didUpdateHeading:newHeading]; @@ -106,6 +115,7 @@ return NO; } +#endif - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error { if ([self.delegate respondsToSelector:@selector(locationManager:didFailWithError:)]) { diff --git a/platform/darwin/src/MGLMapSnapshotter.mm b/platform/darwin/src/MGLMapSnapshotter.mm index 65bed2cf42..2eece7bf5e 100644 --- a/platform/darwin/src/MGLMapSnapshotter.mm +++ b/platform/darwin/src/MGLMapSnapshotter.mm @@ -17,7 +17,7 @@ #import "MGLAttributionInfo_Private.h" #import "MGLLoggingConfiguration_Private.h" #import "MGLRendererConfiguration.h" -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS #import "MGLMapboxEvents.h" #endif @@ -158,7 +158,7 @@ const CGFloat MGLSnapshotterMinimumPixelSize = 64; #else [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillTerminate:) name:NSApplicationWillTerminateNotification object:nil]; #endif -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS [MGLMapboxEvents pushTurnstileEvent]; #endif } @@ -415,7 +415,10 @@ const CGFloat MGLSnapshotterMinimumPixelSize = 64; + (NSArray<MGLAttributionInfo *>*) generateAttributionInfos:(mbgl::MapSnapshotter::Attributions)attributions { NSMutableArray *infos = [NSMutableArray array]; -#if TARGET_OS_IPHONE +#if TARGET_OS_TV + CGFloat fontSize = [UIFont preferredFontForTextStyle:UIFontTextStyleFootnote].pointSize; + UIColor *attributeFontColor = [UIColor blackColor]; +#elif TARGET_OS_IPHONE CGFloat fontSize = [UIFont smallSystemFontSize]; UIColor *attributeFontColor = [UIColor blackColor]; #else diff --git a/platform/darwin/src/MGLOfflineStorage.mm b/platform/darwin/src/MGLOfflineStorage.mm index 93f986a518..a7af85edbc 100644 --- a/platform/darwin/src/MGLOfflineStorage.mm +++ b/platform/darwin/src/MGLOfflineStorage.mm @@ -12,7 +12,7 @@ #import "NSDate+MGLAdditions.h" #import "MGLLoggingConfiguration_Private.h" -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS #import "MMEConstants.h" #import "MGLMapboxEvents.h" #endif @@ -374,7 +374,7 @@ const MGLExceptionName MGLUnsupportedRegionTypeException = @"MGLUnsupportedRegio completion(pack, error); } - #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR + #if TARGET_OS_IOS NSMutableDictionary *offlineDownloadStartEventAttributes = [NSMutableDictionary dictionaryWithObject:MMEventTypeOfflineDownloadStart forKey:MMEEventKeyEvent]; if ([region conformsToProtocol:@protocol(MGLOfflineRegion_Private)]) { diff --git a/platform/darwin/src/MGLShapeOfflineRegion.mm b/platform/darwin/src/MGLShapeOfflineRegion.mm index b4f4b5e92a..2a1b01d2d0 100644 --- a/platform/darwin/src/MGLShapeOfflineRegion.mm +++ b/platform/darwin/src/MGLShapeOfflineRegion.mm @@ -30,7 +30,7 @@ -(NSDictionary *)offlineStartEventAttributes { return @{ - #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR + #if TARGET_OS_IOS MMEEventKeyShapeForOfflineRegion: @"shaperegion", MMEEventKeyMinZoomLevel: @(self.minimumZoomLevel), MMEEventKeyMaxZoomLevel: @(self.maximumZoomLevel), diff --git a/platform/darwin/src/MGLTilePyramidOfflineRegion.mm b/platform/darwin/src/MGLTilePyramidOfflineRegion.mm index 73fcaa91d8..3304e108dd 100644 --- a/platform/darwin/src/MGLTilePyramidOfflineRegion.mm +++ b/platform/darwin/src/MGLTilePyramidOfflineRegion.mm @@ -27,7 +27,7 @@ -(NSDictionary *)offlineStartEventAttributes { return @{ - #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR + #if TARGET_OS_IOS MMEEventKeyShapeForOfflineRegion: @"tileregion", MMEEventKeyMinZoomLevel: @(self.minimumZoomLevel), MMEEventKeyMaxZoomLevel: @(self.maximumZoomLevel), diff --git a/platform/darwin/src/NSString+MGLAdditions.m b/platform/darwin/src/NSString+MGLAdditions.m index d452d56678..fd41d5e92f 100644 --- a/platform/darwin/src/NSString+MGLAdditions.m +++ b/platform/darwin/src/NSString+MGLAdditions.m @@ -17,7 +17,7 @@ - (NSString *)mgl_titleCasedStringWithLocale:(NSLocale *)locale { NSMutableString *string = self.mutableCopy; NSOrthography *orthography; - if (@available(iOS 11.0, macOS 10.13.0, *)) { + if (@available(iOS 11.0, macOS 10.13.0, tvOS 11.0, *)) { orthography = [NSOrthography defaultOrthographyForLanguage:locale.localeIdentifier]; } [string enumerateLinguisticTagsInRange:string.mgl_wholeRange scheme:NSLinguisticTagSchemeLexicalClass options:0 orthography:orthography usingBlock:^(NSString * _Nonnull tag, NSRange tokenRange, NSRange sentenceRange, BOOL * _Nonnull stop) { diff --git a/platform/darwin/src/http_file_source.mm b/platform/darwin/src/http_file_source.mm index 79810546b3..80f349ad25 100644 --- a/platform/darwin/src/http_file_source.mm +++ b/platform/darwin/src/http_file_source.mm @@ -11,7 +11,7 @@ #import "MGLLoggingConfiguration_Private.h" #import "MGLNetworkConfiguration_Private.h" -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS #import "MGLAccountManager_Private.h" #endif @@ -201,7 +201,7 @@ NSURL *resourceURLWithAccountType(const Resource& resource, NSInteger accountTyp NSURL *url = [NSURL URLWithString:@(resource.url.c_str())]; -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS if (accountType == 0 && ([url.host isEqualToString:@"mapbox.com"] || [url.host hasSuffix:@".mapbox.com"])) { NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO]; diff --git a/platform/darwin/test/MGLDocumentationExampleTests.swift b/platform/darwin/test/MGLDocumentationExampleTests.swift index 2a64fbc601..12cc76169c 100644 --- a/platform/darwin/test/MGLDocumentationExampleTests.swift +++ b/platform/darwin/test/MGLDocumentationExampleTests.swift @@ -1,9 +1,9 @@ import XCTest import Mapbox -#if os(iOS) - import UIKit -#else +#if os(macOS) import Cocoa +#else + import UIKit #endif /** diff --git a/platform/darwin/test/MGLDocumentationGuideTests.swift b/platform/darwin/test/MGLDocumentationGuideTests.swift index b1e2bb843f..2dbbc873e4 100644 --- a/platform/darwin/test/MGLDocumentationGuideTests.swift +++ b/platform/darwin/test/MGLDocumentationGuideTests.swift @@ -1,10 +1,10 @@ import XCTest import Foundation import Mapbox -#if os(iOS) - import UIKit -#else +#if os(macOS) import Cocoa +#else + import UIKit #endif /** diff --git a/platform/darwin/test/MGLMapViewTests.m b/platform/darwin/test/MGLMapViewTests.m index 9ad7016a61..4c8f3a443f 100644 --- a/platform/darwin/test/MGLMapViewTests.m +++ b/platform/darwin/test/MGLMapViewTests.m @@ -48,7 +48,7 @@ static MGLMapView *mapView; XCTAssertTrue(CGRectIntersectsRect(spanningBoundsRect, rightAntimeridianBoundsRect), @"Something"); } -#if TARGET_OS_IPHONE +#if TARGET_OS_IOS - (void)testUserTrackingModeCompletion { __block BOOL completed = NO; [mapView setUserTrackingMode:MGLUserTrackingModeNone animated:NO completionHandler:^{ diff --git a/platform/darwin/test/MGLResourceTests.mm b/platform/darwin/test/MGLResourceTests.mm index 0420997c39..c74197ca13 100644 --- a/platform/darwin/test/MGLResourceTests.mm +++ b/platform/darwin/test/MGLResourceTests.mm @@ -46,7 +46,7 @@ namespace mbgl { // For offline, we expect a single offline param and a sku param NSInteger foundCount = 0; -#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR +#if TARGET_OS_IOS for (NSURLQueryItem *item in components.queryItems) { if (([item.name isEqualToString:@"offline"] && [item.value isEqualToString:@"true"]) || ([item.name isEqualToString:@"a"] && [item.value isEqualToString:@"one"]) || @@ -58,7 +58,7 @@ namespace mbgl { XCTAssert(foundCount == 4); #else - // NOTE: Currently the macOS SDK does not supply the sku or offline query parameters + // NOTE: Currently the macOS and tvOS SDKs do not supply the sku or offline query parameters for (NSURLQueryItem *item in components.queryItems) { if (([item.name isEqualToString:@"a"] && [item.value isEqualToString:@"one"]) || ([item.name isEqualToString:@"b"] && [item.value isEqualToString:@"two"])) { diff --git a/platform/ios/config.cmake b/platform/ios/config.cmake index e5386e4ae0..cda9fa808b 100644 --- a/platform/ios/config.cmake +++ b/platform/ios/config.cmake @@ -2,6 +2,8 @@ set(USE_GLES2 ON) macro(initialize_ios_target target) set_xcode_property(${target} IPHONEOS_DEPLOYMENT_TARGET "9.0") + set_xcode_property(${target} TVOS_DEPLOYMENT_TARGET "10.0") + set_xcode_property(${target} SUPPORTED_PLATFORMS "iphonesimulator iphoneos appletvsimulator appletvos") set_xcode_property(${target} ENABLE_BITCODE "YES") set_xcode_property(${target} BITCODE_GENERATION_MODE bitcode) set_xcode_property(${target} ONLY_ACTIVE_ARCH $<$<CONFIG:Debug>:YES>) diff --git a/platform/ios/ios.xcodeproj/project.pbxproj b/platform/ios/ios.xcodeproj/project.pbxproj index de2bec5d99..c9fe664d33 100644 --- a/platform/ios/ios.xcodeproj/project.pbxproj +++ b/platform/ios/ios.xcodeproj/project.pbxproj @@ -104,7 +104,6 @@ 35136D451D42275100C20EFD /* MGLSymbolStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D441D42275100C20EFD /* MGLSymbolStyleLayer.mm */; }; 35136D461D42275100C20EFD /* MGLSymbolStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D441D42275100C20EFD /* MGLSymbolStyleLayer.mm */; }; 35136D4C1D4277FC00C20EFD /* MGLSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 35136D4A1D4277FC00C20EFD /* MGLSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 35136D4D1D4277FC00C20EFD /* MGLSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 35136D4A1D4277FC00C20EFD /* MGLSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; 35136D4E1D4277FC00C20EFD /* MGLSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D4B1D4277FC00C20EFD /* MGLSource.mm */; }; 35136D4F1D4277FC00C20EFD /* MGLSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D4B1D4277FC00C20EFD /* MGLSource.mm */; }; 3538AA1D1D542239008EC33D /* MGLForegroundStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3538AA1B1D542239008EC33D /* MGLForegroundStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -171,7 +170,6 @@ 35CE61841D4165D9004F2359 /* UIColor+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35CE61811D4165D9004F2359 /* UIColor+MGLAdditions.mm */; }; 35CE61851D4165D9004F2359 /* UIColor+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35CE61811D4165D9004F2359 /* UIColor+MGLAdditions.mm */; }; 35D13AB71D3D15E300AFB4E0 /* MGLStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 35D13AB51D3D15E300AFB4E0 /* MGLStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 35D13AB81D3D15E300AFB4E0 /* MGLStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 35D13AB51D3D15E300AFB4E0 /* MGLStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; 35D13AB91D3D15E300AFB4E0 /* MGLStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35D13AB61D3D15E300AFB4E0 /* MGLStyleLayer.mm */; }; 35D13ABA1D3D15E300AFB4E0 /* MGLStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35D13AB61D3D15E300AFB4E0 /* MGLStyleLayer.mm */; }; 35D13AC31D3D19DD00AFB4E0 /* MGLFillStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 35D13AC11D3D19DD00AFB4E0 /* MGLFillStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -395,29 +393,20 @@ 96E516DD200054F200A02306 /* MGLPolygon_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 9654C1271FFC1CC000DB6A19 /* MGLPolygon_Private.h */; }; 96E516DE200054F700A02306 /* MGLGeometry_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848011CBAFA6200AB86E3 /* MGLGeometry_Private.h */; }; 96E516DF200054FB00A02306 /* MGLShape_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 40CF6DBA1DAC3C1800A4D18B /* MGLShape_Private.h */; }; - 96E516E02000550C00A02306 /* MGLFeature_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD1656A1CF41981001FF4B9 /* MGLFeature_Private.h */; }; - 96E516E12000551100A02306 /* MGLMultiPoint_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848041CBAFA6200AB86E3 /* MGLMultiPoint_Private.h */; }; 96E516E22000551900A02306 /* MGLPointCollection_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4049C2AB1DB6E05500B3F799 /* MGLPointCollection_Private.h */; }; 96E516E32000552A00A02306 /* MGLAccountManager_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847FF1CBAFA6200AB86E3 /* MGLAccountManager_Private.h */; }; 96E516E42000560B00A02306 /* MGLComputedShapeSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D9474E1F67487E00E37934 /* MGLComputedShapeSource_Private.h */; }; 96E516E52000560B00A02306 /* MGLOfflinePack_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848061CBAFA6200AB86E3 /* MGLOfflinePack_Private.h */; }; 96E516E62000560B00A02306 /* MGLOfflineRegion_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848081CBAFA6200AB86E3 /* MGLOfflineRegion_Private.h */; }; 96E516E72000560B00A02306 /* MGLOfflineStorage_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848091CBAFA6200AB86E3 /* MGLOfflineStorage_Private.h */; }; - 96E516E82000560B00A02306 /* MGLAnnotationContainerView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 404326881D5B9B1A007111BD /* MGLAnnotationContainerView_Private.h */; }; - 96E516E92000560B00A02306 /* MGLAnnotationImage_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848401CBAFB9800AB86E3 /* MGLAnnotationImage_Private.h */; }; - 96E516EA2000560B00A02306 /* MGLAnnotationView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4018B1C31CDC277F00F666AF /* MGLAnnotationView_Private.h */; }; - 96E516EB2000560B00A02306 /* MGLUserLocation_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA88484B1CBAFB9800AB86E3 /* MGLUserLocation_Private.h */; }; 96E516EC2000560B00A02306 /* MGLUserLocationAnnotationView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 359F57451D2FDBD5005217F1 /* MGLUserLocationAnnotationView_Private.h */; }; 96E516ED200058A200A02306 /* MGLComputedShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 0778DD401F67555F00A73B34 /* MGLComputedShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; 96E516EF2000594F00A02306 /* NSArray+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 400532FF1DB0862B0069F638 /* NSArray+MGLAdditions.h */; }; - 96E516F02000595800A02306 /* NSBundle+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848121CBAFA6200AB86E3 /* NSBundle+MGLAdditions.h */; }; 96E516F12000596800A02306 /* NSString+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848171CBAFA6200AB86E3 /* NSString+MGLAdditions.h */; }; - 96E516F22000596D00A02306 /* NSException+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848141CBAFA6200AB86E3 /* NSException+MGLAdditions.h */; }; 96E516F32000597100A02306 /* NSDictionary+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 408AA8551DAEDA0800022900 /* NSDictionary+MGLAdditions.h */; }; 96E516F5200059B100A02306 /* MGLNetworkConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = DD0902A41DB18F1B00C5BDCE /* MGLNetworkConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; 96E516F6200059EC00A02306 /* MGLRendererFrontend.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F2C3EC1F0E3C3A00268EC0 /* MGLRendererFrontend.h */; }; 96E516F720005A2700A02306 /* MGLAnnotationContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 40EDA1BD1CFE0D4A00D9EA68 /* MGLAnnotationContainerView.h */; }; - 96E516F820005A3000A02306 /* MGLCompactCalloutView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848441CBAFB9800AB86E3 /* MGLCompactCalloutView.h */; }; 96E516F920005A3500A02306 /* MGLFaux3DUserLocationAnnotationView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA88484D1CBAFB9800AB86E3 /* MGLFaux3DUserLocationAnnotationView.h */; }; 96E516FA20005A3D00A02306 /* MGLUserLocationHeadingArrowLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 966FCF501F3C321000F2B6DE /* MGLUserLocationHeadingArrowLayer.h */; }; 96E516FB20005A4000A02306 /* MGLUserLocationHeadingBeamLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 966FCF4A1F3A5C9200F2B6DE /* MGLUserLocationHeadingBeamLayer.h */; }; @@ -527,6 +516,11 @@ DA00FC8F1D5EEB0D009AABC8 /* MGLAttributionInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = DA00FC8C1D5EEB0D009AABC8 /* MGLAttributionInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; DA00FC901D5EEB0D009AABC8 /* MGLAttributionInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA00FC8D1D5EEB0D009AABC8 /* MGLAttributionInfo.mm */; }; DA00FC911D5EEB0D009AABC8 /* MGLAttributionInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA00FC8D1D5EEB0D009AABC8 /* MGLAttributionInfo.mm */; }; + DA05C0B81FFFF3B10033CD0E /* MGLPolygon_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 9654C1271FFC1CC000DB6A19 /* MGLPolygon_Private.h */; }; + DA05C0BA1FFFF3C90033CD0E /* MGLPolyline_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 9654C1251FFC1AB900DB6A19 /* MGLPolyline_Private.h */; }; + DA05C0BB1FFFF61E0033CD0E /* MGLRendererConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA9337830C7738BF7F5493C /* MGLRendererConfiguration.h */; }; + DA05C0BC1FFFF6210033CD0E /* MGLRendererConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3EA931BC4F087E166D538F21 /* MGLRendererConfiguration.mm */; }; + DA05C0BD1FFFF6890033CD0E /* MGLComputedShapeSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 07D8C6FD1F67562800381808 /* MGLComputedShapeSourceTests.m */; }; DA0CD5901CF56F6A00A5F5A5 /* MGLFeatureTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA0CD58F1CF56F6A00A5F5A5 /* MGLFeatureTests.mm */; }; DA17BE301CC4BAC300402C41 /* MGLMapView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA17BE2F1CC4BAC300402C41 /* MGLMapView_Private.h */; }; DA17BE311CC4BDAA00402C41 /* MGLMapView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA17BE2F1CC4BAC300402C41 /* MGLMapView_Private.h */; }; @@ -540,6 +534,11 @@ DA1DC99B1CB6E064006E619F /* MBXViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA1DC99A1CB6E064006E619F /* MBXViewController.m */; }; DA1DC99F1CB6E088006E619F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DA1DC99E1CB6E088006E619F /* Assets.xcassets */; }; DA1F8F3D1EBD287B00367E42 /* MGLDocumentationGuideTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA1F8F3C1EBD287B00367E42 /* MGLDocumentationGuideTests.swift */; }; + DA2392C8224071F700895EA2 /* UIView+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FAFA29A220023840088709E /* UIView+MGLAdditions.h */; }; + DA2392C9224071FA00895EA2 /* UIView+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FAFA29B220023840088709E /* UIView+MGLAdditions.m */; }; + DA2392CA224072E700895EA2 /* MGLMapViewDirectionTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 96ED34DD22374C0900E9FCA9 /* MGLMapViewDirectionTests.mm */; }; + DA2392CB2240768500895EA2 /* MGLAttributedExpression.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FF48586223710BE00F19727 /* MGLAttributedExpression.m */; }; + DA2392CC2240768800895EA2 /* MGLAttributedExpression.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FF48585223710BE00F19727 /* MGLAttributedExpression.h */; settings = {ATTRIBUTES = (Public, ); }; }; DA2784FC1DF02FF4001D5B8D /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DA2784FB1DF02FF4001D5B8D /* Media.xcassets */; }; DA27C24E1CBB3811000B0ECD /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA27C24D1CBB3811000B0ECD /* GLKit.framework */; }; DA27C24F1CBB4C11000B0ECD /* MGLAccountManager_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847FF1CBAFA6200AB86E3 /* MGLAccountManager_Private.h */; }; @@ -561,7 +560,6 @@ DA35A2B81CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B71CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m */; }; DA35A2B91CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B71CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m */; }; DA35A2BB1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DA35A2BC1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; DA35A2C51CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C31CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m */; }; DA35A2C61CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C41CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m */; }; DA35A2C91CCAAAD200E826B2 /* NSValue+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2C71CCAAAD200E826B2 /* NSValue+MGLAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -569,12 +567,70 @@ DA35A2CB1CCAAAD200E826B2 /* NSValue+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C81CCAAAD200E826B2 /* NSValue+MGLAdditions.m */; }; DA35A2CC1CCAAAD200E826B2 /* NSValue+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C81CCAAAD200E826B2 /* NSValue+MGLAdditions.m */; }; DA35D0881E1A6309007DED41 /* one-liner.json in Resources */ = {isa = PBXBuildFile; fileRef = DA35D0871E1A6309007DED41 /* one-liner.json */; }; + DA3C26BF2090898D00017A9A /* MGLHeatmapStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8989B17A201A48EA0081CF59 /* MGLHeatmapStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA3C26C02090899E00017A9A /* MGLHeatmapStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8989B17B201A48EA0081CF59 /* MGLHeatmapStyleLayer.mm */; }; + DA3C26C120908A4800017A9A /* MGLCameraChangeReason.h in Headers */ = {isa = PBXBuildFile; fileRef = CA55CD3E202C16AA00CE7095 /* MGLCameraChangeReason.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA4C76B2218599F400564A86 /* MGLMapCameraTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA695425215B1E75002041A4 /* MGLMapCameraTests.m */; }; + DA4C76B321859D7A00564A86 /* MGLLoggingConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F6A82A021360F9C00BA5B41 /* MGLLoggingConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA4C76B421859D8C00564A86 /* (null) in Sources */ = {isa = PBXBuildFile; }; + DA4C76B521859D8F00564A86 /* MGLLoggingConfiguration_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F6A82A62138871900BA5B41 /* MGLLoggingConfiguration_Private.h */; }; + DA4C76B621859DF800564A86 /* sideload_sat.db in Resources */ = {isa = PBXBuildFile; fileRef = 1F8A59F62165326C004DFE75 /* sideload_sat.db */; }; + DA5218CF20F5C80200A9C072 /* libmbgl-filesource.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55D120A91F79100C004B6D81 /* libmbgl-filesource.a */; }; + DA5218D020F5C83500A9C072 /* libmbgl-loop-darwin.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55D120A71F791007004B6D81 /* libmbgl-loop-darwin.a */; }; + DA5218D120F5C85400A9C072 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA27C24D1CBB3811000B0ECD /* GLKit.framework */; }; + DA5218D220F5C86B00A9C072 /* libmbgl-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAABF73B1CBC59BB005B1825 /* libmbgl-core.a */; }; + DA5218D320F5C8FC00A9C072 /* libmbgl-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DAABF73B1CBC59BB005B1825 /* libmbgl-core.a */; }; + DA5218D520F5C92B00A9C072 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5218D420F5C92000A9C072 /* MobileCoreServices.framework */; }; + DA5721AA21479BC400B125FA /* libicu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55CF7530213ED92A00ED86C4 /* libicu.a */; }; + DA5721AB21479D3B00B125FA /* MGLShapeOfflineRegion_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FC0AE8207CEE16007B6B54 /* MGLShapeOfflineRegion_Private.h */; }; + DA5721AC21479D3F00B125FA /* MGLShapeOfflineRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = 92FC0AE7207CEE16007B6B54 /* MGLShapeOfflineRegion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA5721AD21479D4400B125FA /* MGLShapeOfflineRegion.mm in Sources */ = {isa = PBXBuildFile; fileRef = 92FC0AE9207CEE16007B6B54 /* MGLShapeOfflineRegion.mm */; }; + DA5721AE21479D4A00B125FA /* MGLTilePyramidOfflineRegion_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 9221BAAC2069843A0054BDF4 /* MGLTilePyramidOfflineRegion_Private.h */; }; + DA5721AF21479D6C00B125FA /* MGLLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FCAE2A020B872A400C577DD /* MGLLocationManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA5721B021479D7100B125FA /* MGLLocationManager_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FCAE2A620B88B3800C577DD /* MGLLocationManager_Private.h */; }; + DA5721B121479D7500B125FA /* MGLLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FCAE2A120B872A400C577DD /* MGLLocationManager.m */; }; + DA5721B221479E0D00B125FA /* MGLHeatmapColorTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 170C43782028D49800863DF0 /* MGLHeatmapColorTests.mm */; }; + DA5721B321479E1300B125FA /* MGLHeatmapStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 170C43792028D49800863DF0 /* MGLHeatmapStyleLayerTests.mm */; }; + DA5721B421479E4100B125FA /* MGLMapViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 076171C22139C70900668A35 /* MGLMapViewTests.m */; }; + DA5C09AA1EF9FF340056B178 /* MGLLight.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F0666881EC64F8E001C16D7 /* MGLLight.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA5C09AB1EF9FF390056B178 /* MGLLight.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F0666891EC64F8E001C16D7 /* MGLLight.mm */; }; + DA5C09AC1EF9FF3D0056B178 /* MGLLight_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F7454941ECD450D00021D39 /* MGLLight_Private.h */; }; + DA5C09AD1EF9FF430056B178 /* MGLLightTest.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F7454A61ED08AB400021D39 /* MGLLightTest.mm */; }; + DA5C09AE1EF9FF4B0056B178 /* MGLFillExtrusionStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = FA68F1481E9D656600F9F6C2 /* MGLFillExtrusionStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA5C09AF1EF9FF4F0056B178 /* MGLFillExtrusionStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = FA68F1491E9D656600F9F6C2 /* MGLFillExtrusionStyleLayer.mm */; }; + DA5C09B01EF9FF520056B178 /* MGLFillExtrusionStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = FAE1CDC81E9D79C600C40B5B /* MGLFillExtrusionStyleLayerTests.mm */; }; + DA5C09B11EF9FF8A0056B178 /* MGLImageSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 071BBAFC1EE75CD4001FB02A /* MGLImageSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA5C09B21EF9FF8E0056B178 /* MGLImageSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 071BBAFD1EE75CD4001FB02A /* MGLImageSource.mm */; }; + DA5C09B31EFA008C0056B178 /* MGLScaleBar.h in Headers */ = {isa = PBXBuildFile; fileRef = 355ADFFB1E9281DA00F3939D /* MGLScaleBar.h */; }; + DA5C09B41EFA008F0056B178 /* MGLScaleBar.mm in Sources */ = {isa = PBXBuildFile; fileRef = 355ADFFC1E9281DA00F3939D /* MGLScaleBar.mm */; }; + DA5C09B51EFA00A40056B178 /* UIViewController+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DD9BE4F61EB263C50079A3AF /* UIViewController+MGLAdditions.m */; }; + DA5C09B61EFA01690056B178 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 960D0C351ECF5AAF008E151F /* Images.xcassets */; }; + DA5C09B71EFA027E0056B178 /* MGLDocumentationGuideTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA1F8F3C1EBD287B00367E42 /* MGLDocumentationGuideTests.swift */; }; + DA5C09B81EFA02A30056B178 /* MGLImageSourceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 071BBB051EE7761A001FB02A /* MGLImageSourceTests.m */; }; + DA5C09B91EFA0CB70056B178 /* amsterdam.geojson in Resources */ = {isa = PBXBuildFile; fileRef = 353BAEF51D646370009A8DA9 /* amsterdam.geojson */; }; + DA5C5C821F7D94DF00B3E3AC /* (null) in Headers */ = {isa = PBXBuildFile; }; + DA5C5C831F7D94E200B3E3AC /* (null) in Sources */ = {isa = PBXBuildFile; }; + DA5C5C851F7D954D00B3E3AC /* MGLMapSnapshotter.h in Headers */ = {isa = PBXBuildFile; fileRef = 927FBCFD1F4DB05500F8BF1F /* MGLMapSnapshotter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA5C5C861F7D955200B3E3AC /* MGLMapSnapshotter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 927FBCFE1F4DB05500F8BF1F /* MGLMapSnapshotter.mm */; }; + DA5C5C871F7D955B00B3E3AC /* MGLRendererFrontend.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F2C3EC1F0E3C3A00268EC0 /* MGLRendererFrontend.h */; }; + DA5C5C881F7D96BF00B3E3AC /* UIViewController+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DD9BE4F51EB263C50079A3AF /* UIViewController+MGLAdditions.h */; }; + DA5C5C891F7D96E700B3E3AC /* MGLUserLocationHeadingArrowLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 966FCF501F3C321000F2B6DE /* MGLUserLocationHeadingArrowLayer.h */; }; + DA5C5C8A1F7D96EA00B3E3AC /* MGLUserLocationHeadingArrowLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 966FCF511F3C321000F2B6DE /* MGLUserLocationHeadingArrowLayer.m */; }; + DA5C5C8B1F7D96ED00B3E3AC /* MGLUserLocationHeadingBeamLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 966FCF4A1F3A5C9200F2B6DE /* MGLUserLocationHeadingBeamLayer.h */; }; + DA5C5C8C1F7D96F000B3E3AC /* MGLUserLocationHeadingBeamLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 966FCF4B1F3A5C9200F2B6DE /* MGLUserLocationHeadingBeamLayer.m */; }; + DA5C5C8D1F7D96F500B3E3AC /* MGLUserLocationHeadingIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 96F3F73B1F5711F1003E2D2C /* MGLUserLocationHeadingIndicator.h */; }; + DA5C5C901F7D9C9500B3E3AC /* MGLSDKTestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4031ACFE1E9FD29F00A3EA26 /* MGLSDKTestHelpers.swift */; }; + DA5C5C911F7D9C9A00B3E3AC /* MGLMapViewDelegateIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 409F43FC1E9E781C0048729D /* MGLMapViewDelegateIntegrationTests.swift */; }; + DA5C5C921F7D9C9D00B3E3AC /* MGLAnnotationViewIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 409D0A0C1ED614CE00C95D0C /* MGLAnnotationViewIntegrationTests.swift */; }; + DA5C5C981F7DA09700B3E3AC /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = DA5C5C971F7DA09700B3E3AC /* libsqlite3.tbd */; }; DA5DB12A1FABF1EE001C2326 /* MGLMapAccessibilityElementTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA5DB1291FABF1EE001C2326 /* MGLMapAccessibilityElementTests.m */; }; DA6408DB1DA4E7D300908C90 /* MGLVectorStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = DA6408D91DA4E7D300908C90 /* MGLVectorStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; DA6408DC1DA4E7D300908C90 /* MGLVectorStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = DA6408D91DA4E7D300908C90 /* MGLVectorStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; DA6408DD1DA4E7D300908C90 /* MGLVectorStyleLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = DA6408DA1DA4E7D300908C90 /* MGLVectorStyleLayer.m */; }; DA6408DE1DA4E7D300908C90 /* MGLVectorStyleLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = DA6408DA1DA4E7D300908C90 /* MGLVectorStyleLayer.m */; }; DA695426215B1E76002041A4 /* MGLMapCameraTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA695425215B1E75002041A4 /* MGLMapCameraTests.m */; }; + DA6D42612147AE3C009C1974 /* UIDevice+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 967C8649210A9D3C004DF794 /* UIDevice+MGLAdditions.h */; }; + DA6D42622147AE3F009C1974 /* UIDevice+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 967C864A210A9D3C004DF794 /* UIDevice+MGLAdditions.m */; }; DA704CC21F65A475004B3F28 /* MGLMapAccessibilityElement.h in Headers */ = {isa = PBXBuildFile; fileRef = DA704CC01F65A475004B3F28 /* MGLMapAccessibilityElement.h */; }; DA704CC31F65A475004B3F28 /* MGLMapAccessibilityElement.h in Headers */ = {isa = PBXBuildFile; fileRef = DA704CC01F65A475004B3F28 /* MGLMapAccessibilityElement.h */; }; DA704CC41F65A475004B3F28 /* MGLMapAccessibilityElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA704CC11F65A475004B3F28 /* MGLMapAccessibilityElement.mm */; }; @@ -656,6 +712,203 @@ DA8963381CC549A100684375 /* sprites in Resources */ = {isa = PBXBuildFile; fileRef = DA8963341CC549A100684375 /* sprites */; }; DA8963391CC549A100684375 /* styles in Resources */ = {isa = PBXBuildFile; fileRef = DA8963351CC549A100684375 /* styles */; }; DA89633A1CC549A100684375 /* tiles in Resources */ = {isa = PBXBuildFile; fileRef = DA8963361CC549A100684375 /* tiles */; }; + DA94B97A1E766E6400190EF5 /* Mapbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA94B9711E766E6400190EF5 /* Mapbox.framework */; }; + DA94B9881E76721800190EF5 /* Mapbox.h in Headers */ = {isa = PBXBuildFile; fileRef = DA88485E1CBAFC2E00AB86E3 /* Mapbox.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9891E7672B200190EF5 /* MGLAccountManager.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847DF1CBAFA5100AB86E3 /* MGLAccountManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B98A1E7672B200190EF5 /* MGLAttributionInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = DA00FC8C1D5EEB0D009AABC8 /* MGLAttributionInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B98B1E7672B200190EF5 /* MGLFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = 556660C91E1BF3A900E2C41B /* MGLFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B98C1E7672B200190EF5 /* MGLMapCamera.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E21CBAFA5100AB86E3 /* MGLMapCamera.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B98D1E7672B200190EF5 /* MGLStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847EC1CBAFA5100AB86E3 /* MGLStyle.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B98E1E7672B200190EF5 /* MGLTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847EE1CBAFA5100AB86E3 /* MGLTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B98F1E7672DF00190EF5 /* MGLAccountManager_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847FF1CBAFA6200AB86E3 /* MGLAccountManager_Private.h */; }; + DA94B9901E7672EA00190EF5 /* MGLAttributionInfo_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAF0D8171DFE6B2800B28378 /* MGLAttributionInfo_Private.h */; }; + DA94B9911E7672EA00190EF5 /* MGLFoundation_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 558DE79E1E5615E400C7916D /* MGLFoundation_Private.h */; }; + DA94B9921E7672FA00190EF5 /* MGLNetworkConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = DD0902A41DB18F1B00C5BDCE /* MGLNetworkConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9931E7672FB00190EF5 /* MGLNetworkConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = DD0902A41DB18F1B00C5BDCE /* MGLNetworkConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9941E76730000190EF5 /* MGLStyle_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 35E0CFE51D3E501500188327 /* MGLStyle_Private.h */; }; + DA94B9951E76730400190EF5 /* MGLValueEvaluator.h in Headers */ = {isa = PBXBuildFile; fileRef = 35E1A4D71D74336F007AA97F /* MGLValueEvaluator.h */; }; + DA94B9961E76733900190EF5 /* MGLAccountManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8848001CBAFA6200AB86E3 /* MGLAccountManager.m */; }; + DA94B9971E76733900190EF5 /* MGLAttributionInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA00FC8D1D5EEB0D009AABC8 /* MGLAttributionInfo.mm */; }; + DA94B9981E76733900190EF5 /* MGLFoundation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 558DE79F1E5615E400C7916D /* MGLFoundation.mm */; }; + DA94B9991E76733900190EF5 /* MGLMapCamera.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA8848031CBAFA6200AB86E3 /* MGLMapCamera.mm */; }; + DA94B99A1E76733900190EF5 /* MGLNetworkConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = DD0902A21DB18DE700C5BDCE /* MGLNetworkConfiguration.m */; }; + DA94B99B1E76733900190EF5 /* MGLStyle.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA88480F1CBAFA6200AB86E3 /* MGLStyle.mm */; }; + DA94B99C1E76733900190EF5 /* MGLTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8848111CBAFA6200AB86E3 /* MGLTypes.m */; }; + DA94B99D1E76734100190EF5 /* MGLConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = 1753ED411E53CE6F00A9FD90 /* MGLConversion.h */; }; + DA94B99E1E76734400190EF5 /* MGLStyleValue.h in Headers */ = {isa = PBXBuildFile; fileRef = DAAF72291DA903C700312FA4 /* MGLStyleValue.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B99F1E76734900190EF5 /* MGLStyleValue_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAAF722A1DA903C700312FA4 /* MGLStyleValue_Private.h */; }; + DA94B9A01E76734D00190EF5 /* MGLStyleValue.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35599DEA1D46F14E0048254D /* MGLStyleValue.mm */; }; + DA94B9A11E76735100190EF5 /* NSValue+MGLStyleAttributeAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 350098DA1D484E60004B2AF0 /* NSValue+MGLStyleAttributeAdditions.h */; }; + DA94B9A21E76735300190EF5 /* NSValue+MGLStyleAttributeAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 350098DB1D484E60004B2AF0 /* NSValue+MGLStyleAttributeAdditions.mm */; }; + DA94B9A31E76736200190EF5 /* MGLBackgroundStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 353933F41D3FB785003F57D7 /* MGLBackgroundStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9A41E76736200190EF5 /* MGLCircleStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 353933F11D3FB753003F57D7 /* MGLCircleStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9A51E76736200190EF5 /* MGLFillStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 35D13AC11D3D19DD00AFB4E0 /* MGLFillStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9A61E76736200190EF5 /* MGLForegroundStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3538AA1B1D542239008EC33D /* MGLForegroundStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9A71E76736200190EF5 /* MGLLineStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 353933F71D3FB79F003F57D7 /* MGLLineStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9A81E76736200190EF5 /* MGLOpenGLStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = DA7262091DEEE3480043BB89 /* MGLOpenGLStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9A91E76736200190EF5 /* MGLRasterStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 353933FA1D3FB7C0003F57D7 /* MGLRasterStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9AA1E76736200190EF5 /* MGLStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 35D13AB51D3D15E300AFB4E0 /* MGLStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9AB1E76736200190EF5 /* MGLSymbolStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 353933FD1D3FB7DD003F57D7 /* MGLSymbolStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9AC1E76736200190EF5 /* MGLVectorStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = DA6408D91DA4E7D300908C90 /* MGLVectorStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9AD1E76736700190EF5 /* MGLStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 35E79F1F1D41266300957B9E /* MGLStyleLayer_Private.h */; }; + DA94B9AE1E76737100190EF5 /* MGLBackgroundStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D381D42271A00C20EFD /* MGLBackgroundStyleLayer.mm */; }; + DA94B9AF1E76737100190EF5 /* MGLCircleStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D3B1D42272500C20EFD /* MGLCircleStyleLayer.mm */; }; + DA94B9B01E76737100190EF5 /* MGLFillStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35D13AC21D3D19DD00AFB4E0 /* MGLFillStyleLayer.mm */; }; + DA94B9B11E76737100190EF5 /* MGLForegroundStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3538AA1C1D542239008EC33D /* MGLForegroundStyleLayer.mm */; }; + DA94B9B21E76737100190EF5 /* MGLLineStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D3E1D42273000C20EFD /* MGLLineStyleLayer.mm */; }; + DA94B9B31E76737100190EF5 /* MGLOpenGLStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA72620A1DEEE3480043BB89 /* MGLOpenGLStyleLayer.mm */; }; + DA94B9B41E76737100190EF5 /* MGLRasterStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D411D42274500C20EFD /* MGLRasterStyleLayer.mm */; }; + DA94B9B51E76737100190EF5 /* MGLStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35D13AB61D3D15E300AFB4E0 /* MGLStyleLayer.mm */; }; + DA94B9B61E76737100190EF5 /* MGLSymbolStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D441D42275100C20EFD /* MGLSymbolStyleLayer.mm */; }; + DA94B9B71E76737100190EF5 /* MGLVectorStyleLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = DA6408DA1DA4E7D300908C90 /* MGLVectorStyleLayer.m */; }; + DA94B9B81E76737C00190EF5 /* MGLRasterTileSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 3566C76A1D4A8DFA008152BC /* MGLRasterTileSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9B91E76737C00190EF5 /* MGLShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 3566C7641D4A77BA008152BC /* MGLShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9BA1E76737C00190EF5 /* MGLSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 35136D4A1D4277FC00C20EFD /* MGLSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9BB1E76737C00190EF5 /* MGLTileSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 404C26E01D89B877000AA13D /* MGLTileSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9BC1E76737C00190EF5 /* MGLVectorTileSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 350098B91D480108004B2AF0 /* MGLVectorTileSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9BD1E76738300190EF5 /* MGLRasterTileSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAF0D80F1DFE0EA000B28378 /* MGLRasterTileSource_Private.h */; }; + DA94B9BE1E76738300190EF5 /* MGLShapeSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 40F8876F1D7A1DB8008ECB67 /* MGLShapeSource_Private.h */; }; + DA94B9BF1E76738300190EF5 /* MGLSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 3566C7701D4A9198008152BC /* MGLSource_Private.h */; }; + DA94B9C01E76738300190EF5 /* MGLTileSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 404C26E61D89C515000AA13D /* MGLTileSource_Private.h */; }; + DA94B9C11E76738300190EF5 /* MGLVectorTileSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAF0D8121DFE0EC500B28378 /* MGLVectorTileSource_Private.h */; }; + DA94B9C21E76738900190EF5 /* MGLRasterTileSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3566C76B1D4A8DFA008152BC /* MGLRasterTileSource.mm */; }; + DA94B9C31E76738900190EF5 /* MGLShapeSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3566C7651D4A77BA008152BC /* MGLShapeSource.mm */; }; + DA94B9C41E76738900190EF5 /* MGLSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35136D4B1D4277FC00C20EFD /* MGLSource.mm */; }; + DA94B9C51E76738900190EF5 /* MGLTileSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 404C26E11D89B877000AA13D /* MGLTileSource.mm */; }; + DA94B9C61E76738900190EF5 /* MGLVectorTileSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 350098BA1D480108004B2AF0 /* MGLVectorTileSource.mm */; }; + DA94B9C71E76739D00190EF5 /* (null) in Headers */ = {isa = PBXBuildFile; }; + DA94B9C81E76739D00190EF5 /* (null) in Headers */ = {isa = PBXBuildFile; }; + DA94B9CA1E7673A900190EF5 /* NSArray+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 400532FF1DB0862B0069F638 /* NSArray+MGLAdditions.h */; }; + DA94B9CB1E7673AC00190EF5 /* NSBundle+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848121CBAFA6200AB86E3 /* NSBundle+MGLAdditions.h */; }; + DA94B9CC1E7673AE00190EF5 /* NSBundle+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848121CBAFA6200AB86E3 /* NSBundle+MGLAdditions.h */; }; + DA94B9CD1E7673B200190EF5 /* NSComparisonPredicate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3510FFE81D6D9C7A00F413B2 /* NSComparisonPredicate+MGLAdditions.h */; }; + DA94B9CE1E7673B600190EF5 /* NSCompoundPredicate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3510FFF71D6DCC4700F413B2 /* NSCompoundPredicate+MGLAdditions.h */; }; + DA94B9D01E7673C800190EF5 /* NSDate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 353AFA121D65AB17005A69F4 /* NSDate+MGLAdditions.h */; }; + DA94B9D21E7673D200190EF5 /* NSDictionary+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 408AA8551DAEDA0800022900 /* NSDictionary+MGLAdditions.h */; }; + DA94B9D31E7673D500190EF5 /* NSException+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848141CBAFA6200AB86E3 /* NSException+MGLAdditions.h */; }; + DA94B9D41E7673D600190EF5 /* NSException+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848141CBAFA6200AB86E3 /* NSException+MGLAdditions.h */; }; + DA94B9D51E7673DA00190EF5 /* NSExpression+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3510FFEE1D6D9D8C00F413B2 /* NSExpression+MGLAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9D61E7673DD00190EF5 /* NSPredicate+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35B82BF61D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9D71E7673E000190EF5 /* (null) in Headers */ = {isa = PBXBuildFile; }; + DA94B9D81E7673E100190EF5 /* (null) in Headers */ = {isa = PBXBuildFile; }; + DA94B9DA1E7673E500190EF5 /* NSString+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848171CBAFA6200AB86E3 /* NSString+MGLAdditions.h */; }; + DA94B9DB1E7673E800190EF5 /* NSURL+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DAED38611D62D0FC00D7640F /* NSURL+MGLAdditions.h */; }; + DA94B9DC1E7673EB00190EF5 /* NSValue+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2C71CCAAAD200E826B2 /* NSValue+MGLAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9DD1E7673FA00190EF5 /* (null) in Sources */ = {isa = PBXBuildFile; }; + DA94B9DE1E7673FA00190EF5 /* (null) in Sources */ = {isa = PBXBuildFile; }; + DA94B9DF1E7673FA00190EF5 /* NSArray+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 400533001DB0862B0069F638 /* NSArray+MGLAdditions.mm */; }; + DA94B9E01E7673FA00190EF5 /* NSBundle+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8848131CBAFA6200AB86E3 /* NSBundle+MGLAdditions.m */; }; + DA94B9E11E7673FA00190EF5 /* NSComparisonPredicate+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3510FFE91D6D9C7A00F413B2 /* NSComparisonPredicate+MGLAdditions.mm */; }; + DA94B9E21E7673FA00190EF5 /* NSCompoundPredicate+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3510FFF81D6DCC4700F413B2 /* NSCompoundPredicate+MGLAdditions.mm */; }; + DA94B9E41E7673FA00190EF5 /* NSDate+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 353AFA131D65AB17005A69F4 /* NSDate+MGLAdditions.mm */; }; + DA94B9E51E7673FA00190EF5 /* NSDictionary+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 408AA8561DAEDA0800022900 /* NSDictionary+MGLAdditions.mm */; }; + DA94B9E61E7673FA00190EF5 /* NSExpression+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3510FFEF1D6D9D8C00F413B2 /* NSExpression+MGLAdditions.mm */; }; + DA94B9E71E7673FA00190EF5 /* NSPredicate+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35B82BF71D6C5F8400B1B721 /* NSPredicate+MGLAdditions.mm */; }; + DA94B9E81E7673FA00190EF5 /* (null) in Sources */ = {isa = PBXBuildFile; }; + DA94B9E91E7673FA00190EF5 /* NSString+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8848181CBAFA6200AB86E3 /* NSString+MGLAdditions.m */; }; + DA94B9EA1E7673FA00190EF5 /* NSURL+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DAED38621D62D0FC00D7640F /* NSURL+MGLAdditions.m */; }; + DA94B9EB1E7673FA00190EF5 /* NSValue+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C81CCAAAD200E826B2 /* NSValue+MGLAdditions.m */; }; + DA94B9EC1E76740100190EF5 /* MGLClockDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9ED1E76740100190EF5 /* MGLCompassDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AF1CCA141D00E826B2 /* MGLCompassDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9EE1E76740100190EF5 /* MGLCoordinateFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A29D1CC9E94C00E826B2 /* MGLCoordinateFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9EF1E76740100190EF5 /* MGLDistanceFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 3557F7AE1E1D27D300CCA5E6 /* MGLDistanceFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9F01E76740700190EF5 /* MGLClockDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B71CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m */; }; + DA94B9F11E76740700190EF5 /* MGLCompassDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */; }; + DA94B9F21E76740700190EF5 /* MGLCoordinateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */; }; + DA94B9F31E76740700190EF5 /* MGLDistanceFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3557F7AF1E1D27D300CCA5E6 /* MGLDistanceFormatter.m */; }; + DA94B9F41E76741D00190EF5 /* MGLAnnotation.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E01CBAFA5100AB86E3 /* MGLAnnotation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9F51E76741D00190EF5 /* MGLFeature.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD165691CF41981001FF4B9 /* MGLFeature.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9F61E76741D00190EF5 /* MGLGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E11CBAFA5100AB86E3 /* MGLGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9F71E76741D00190EF5 /* MGLMultiPoint.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E31CBAFA5100AB86E3 /* MGLMultiPoint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9F81E76741D00190EF5 /* MGLOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E71CBAFA5100AB86E3 /* MGLOverlay.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9F91E76741D00190EF5 /* MGLPointAnnotation.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E81CBAFA5100AB86E3 /* MGLPointAnnotation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9FA1E76741D00190EF5 /* MGLPointCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 4049C29B1DB6CD6C00B3F799 /* MGLPointCollection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9FB1E76741D00190EF5 /* MGLPolygon.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E91CBAFA5100AB86E3 /* MGLPolygon.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9FC1E76741D00190EF5 /* MGLPolyline.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847EA1CBAFA5100AB86E3 /* MGLPolyline.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9FD1E76741D00190EF5 /* MGLShape.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847EB1CBAFA5100AB86E3 /* MGLShape.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9FE1E76741D00190EF5 /* MGLShapeCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD165761CF4CDFF001FF4B9 /* MGLShapeCollection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94B9FF1E76742500190EF5 /* MGLFeature_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD1656A1CF41981001FF4B9 /* MGLFeature_Private.h */; }; + DA94BA001E76742500190EF5 /* MGLGeometry_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848011CBAFA6200AB86E3 /* MGLGeometry_Private.h */; }; + DA94BA011E76742500190EF5 /* MGLMultiPoint_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848041CBAFA6200AB86E3 /* MGLMultiPoint_Private.h */; }; + DA94BA021E76742500190EF5 /* MGLPointCollection_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4049C2AB1DB6E05500B3F799 /* MGLPointCollection_Private.h */; }; + DA94BA031E76742500190EF5 /* MGLShape_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 40CF6DBA1DAC3C1800A4D18B /* MGLShape_Private.h */; }; + DA94BA041E76742700190EF5 /* MGLFeature_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD1656A1CF41981001FF4B9 /* MGLFeature_Private.h */; }; + DA94BA061E76742700190EF5 /* MGLMultiPoint_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848041CBAFA6200AB86E3 /* MGLMultiPoint_Private.h */; }; + DA94BA091E76743000190EF5 /* MGLFeature.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAD1656B1CF41981001FF4B9 /* MGLFeature.mm */; }; + DA94BA0A1E76743000190EF5 /* MGLGeometry.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA8848021CBAFA6200AB86E3 /* MGLGeometry.mm */; }; + DA94BA0B1E76743000190EF5 /* MGLMultiPoint.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA8848051CBAFA6200AB86E3 /* MGLMultiPoint.mm */; }; + DA94BA0C1E76743000190EF5 /* MGLPointAnnotation.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA88480B1CBAFA6200AB86E3 /* MGLPointAnnotation.mm */; }; + DA94BA0D1E76743000190EF5 /* MGLPointCollection.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4049C29C1DB6CD6C00B3F799 /* MGLPointCollection.mm */; }; + DA94BA0E1E76743000190EF5 /* MGLPolygon.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA88480C1CBAFA6200AB86E3 /* MGLPolygon.mm */; }; + DA94BA0F1E76743000190EF5 /* MGLPolyline.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA88480D1CBAFA6200AB86E3 /* MGLPolyline.mm */; }; + DA94BA101E76743000190EF5 /* MGLShape.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA88480E1CBAFA6200AB86E3 /* MGLShape.mm */; }; + DA94BA111E76743000190EF5 /* MGLShapeCollection.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAD165771CF4CDFF001FF4B9 /* MGLShapeCollection.mm */; }; + DA94BA121E76743C00190EF5 /* MGLOfflinePack.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E41CBAFA5100AB86E3 /* MGLOfflinePack.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA131E76743C00190EF5 /* MGLOfflineRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E51CBAFA5100AB86E3 /* MGLOfflineRegion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA141E76743C00190EF5 /* MGLOfflineStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847E61CBAFA5100AB86E3 /* MGLOfflineStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA151E76743C00190EF5 /* MGLTilePyramidOfflineRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8847ED1CBAFA5100AB86E3 /* MGLTilePyramidOfflineRegion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA161E76744300190EF5 /* MGLOfflinePack_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848061CBAFA6200AB86E3 /* MGLOfflinePack_Private.h */; }; + DA94BA171E76744300190EF5 /* MGLOfflineRegion_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848081CBAFA6200AB86E3 /* MGLOfflineRegion_Private.h */; }; + DA94BA181E76744300190EF5 /* MGLOfflineStorage_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848091CBAFA6200AB86E3 /* MGLOfflineStorage_Private.h */; }; + DA94BA1C1E76744800190EF5 /* MGLOfflinePack.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA8848071CBAFA6200AB86E3 /* MGLOfflinePack.mm */; }; + DA94BA1D1E76744800190EF5 /* MGLOfflineStorage.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA88480A1CBAFA6200AB86E3 /* MGLOfflineStorage.mm */; }; + DA94BA1E1E76744800190EF5 /* MGLTilePyramidOfflineRegion.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA8848101CBAFA6200AB86E3 /* MGLTilePyramidOfflineRegion.mm */; }; + DA94BA1F1E76745800190EF5 /* Foundation.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA8933BA1CCD2CA100E68420 /* Foundation.strings */; }; + DA94BA201E76745800190EF5 /* Foundation.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = DA8933BD1CCD2CAD00E68420 /* Foundation.stringsdict */; }; + DA94BA211E76746100190EF5 /* MGLMapView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848361CBAFB8500AB86E3 /* MGLMapView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA221E76746100190EF5 /* MGLMapView+IBAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848371CBAFB8500AB86E3 /* MGLMapView+IBAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA231E76746100190EF5 /* MGLMapViewDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DA737EE01D056A4E005BDA16 /* MGLMapViewDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA241E76746500190EF5 /* MGLMapView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA17BE2F1CC4BAC300402C41 /* MGLMapView_Private.h */; }; + DA94BA251E76746900190EF5 /* MGLMapView.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA88484A1CBAFB9800AB86E3 /* MGLMapView.mm */; }; + DA94BA261E76747000190EF5 /* UIColor+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 35CE61801D4165D9004F2359 /* UIColor+MGLAdditions.h */; }; + DA94BA271E76747000190EF5 /* UIImage+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 30E578111DAA7D690050F07E /* UIImage+MGLAdditions.h */; }; + DA94BA281E76747000190EF5 /* NSCoder+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 357FE2DB1E02D2B20068B753 /* NSCoder+MGLAdditions.h */; }; + DA94BA291E76747400190EF5 /* UIColor+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35CE61811D4165D9004F2359 /* UIColor+MGLAdditions.mm */; }; + DA94BA2A1E76747400190EF5 /* UIImage+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 30E578121DAA7D690050F07E /* UIImage+MGLAdditions.mm */; }; + DA94BA2B1E76747400190EF5 /* NSCoder+MGLAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = 357FE2DC1E02D2B20068B753 /* NSCoder+MGLAdditions.mm */; }; + DA94BA2D1E76748000190EF5 /* MGLAnnotationContainerView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 404326881D5B9B1A007111BD /* MGLAnnotationContainerView_Private.h */; }; + DA94BA2E1E76748300190EF5 /* MGLAnnotationImage_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848401CBAFB9800AB86E3 /* MGLAnnotationImage_Private.h */; }; + DA94BA2F1E76749100190EF5 /* MGLAnnotationContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = 40EDA1BD1CFE0D4A00D9EA68 /* MGLAnnotationContainerView.h */; }; + DA94BA301E76749100190EF5 /* MGLAnnotationContainerView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 404326881D5B9B1A007111BD /* MGLAnnotationContainerView_Private.h */; }; + DA94BA311E76749100190EF5 /* MGLAnnotationImage_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848401CBAFB9800AB86E3 /* MGLAnnotationImage_Private.h */; }; + DA94BA321E76749400190EF5 /* MGLAnnotationImage.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848341CBAFB8500AB86E3 /* MGLAnnotationImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA331E76749900190EF5 /* MGLAnnotationView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4018B1C31CDC277F00F666AF /* MGLAnnotationView_Private.h */; }; + DA94BA341E76749A00190EF5 /* MGLAnnotationView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 4018B1C31CDC277F00F666AF /* MGLAnnotationView_Private.h */; }; + DA94BA351E76749C00190EF5 /* MGLAnnotationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4018B1C51CDC277F00F666AF /* MGLAnnotationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA361E7674A000190EF5 /* MGLCalloutView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848351CBAFB8500AB86E3 /* MGLCalloutView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA371E7674A500190EF5 /* MGLCompactCalloutView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848441CBAFB9800AB86E3 /* MGLCompactCalloutView.h */; }; + DA94BA381E7674A600190EF5 /* MGLCompactCalloutView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848441CBAFB9800AB86E3 /* MGLCompactCalloutView.h */; }; + DA94BA3A1E7674A900190EF5 /* MGLFaux3DUserLocationAnnotationView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA88484D1CBAFB9800AB86E3 /* MGLFaux3DUserLocationAnnotationView.h */; }; + DA94BA3C1E7674AD00190EF5 /* MGLUserLocation_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA88484B1CBAFB9800AB86E3 /* MGLUserLocation_Private.h */; }; + DA94BA3D1E7674B000190EF5 /* MGLUserLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848391CBAFB8500AB86E3 /* MGLUserLocation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA3F1E7674B500190EF5 /* MGLUserLocationAnnotationView_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 359F57451D2FDBD5005217F1 /* MGLUserLocationAnnotationView_Private.h */; }; + DA94BA401E7674B800190EF5 /* MGLUserLocationAnnotationView.h in Headers */ = {isa = PBXBuildFile; fileRef = 354B83941D2E873E005D9406 /* MGLUserLocationAnnotationView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA94BA411E7674C300190EF5 /* MGLAnnotationContainerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 40EDA1BE1CFE0D4A00D9EA68 /* MGLAnnotationContainerView.m */; }; + DA94BA421E7674C300190EF5 /* MGLAnnotationImage.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8848411CBAFB9800AB86E3 /* MGLAnnotationImage.m */; }; + DA94BA431E7674C300190EF5 /* MGLAnnotationView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4018B1C41CDC277F00F666AF /* MGLAnnotationView.mm */; }; + DA94BA441E7674C300190EF5 /* MGLCompactCalloutView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA8848451CBAFB9800AB86E3 /* MGLCompactCalloutView.m */; }; + DA94BA451E7674C300190EF5 /* MGLFaux3DUserLocationAnnotationView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA88484E1CBAFB9800AB86E3 /* MGLFaux3DUserLocationAnnotationView.m */; }; + DA94BA461E7674C300190EF5 /* MGLUserLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = DA88484C1CBAFB9800AB86E3 /* MGLUserLocation.m */; }; + DA94BA471E7674C300190EF5 /* MGLUserLocationAnnotationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 354B83951D2E873E005D9406 /* MGLUserLocationAnnotationView.m */; }; + DA94BA4E1E7674DC00190EF5 /* MGLSDKUpdateChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 9620BB361E69FE1700705A1D /* MGLSDKUpdateChecker.h */; }; + DA94BA521E7674E100190EF5 /* MGLSDKUpdateChecker.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9620BB371E69FE1700705A1D /* MGLSDKUpdateChecker.mm */; }; + DA94BA541E7674F600190EF5 /* SMCalloutView.h in Headers */ = {isa = PBXBuildFile; fileRef = DA8848891CBB037E00AB86E3 /* SMCalloutView.h */; }; + DA94BA551E7674FA00190EF5 /* SMCalloutView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA88488A1CBB037E00AB86E3 /* SMCalloutView.m */; }; + DA94BA561E76750100190EF5 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = DA89339F1CCC951200E68420 /* Localizable.strings */; }; + DA94BA571E76750100190EF5 /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = DAC49C5F1CD02BC9009E1AA3 /* Localizable.stringsdict */; }; + DA94BA5B1E76755F00190EF5 /* strip-frameworks.sh in Resources */ = {isa = PBXBuildFile; fileRef = DA8933EF1CCD387900E68420 /* strip-frameworks.sh */; }; + DA94BA661E7675DB00190EF5 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA94BA651E7675DB00190EF5 /* ImageIO.framework */; }; + DA9EA825201C0B3400F9874D /* MGLHillshadeStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = DAF25718201901E200367EF5 /* MGLHillshadeStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA9EA826201C0B3900F9874D /* MGLHillshadeStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAF25717201901E100367EF5 /* MGLHillshadeStyleLayer.mm */; }; + DA9EA827201C0B5200F9874D /* MGLRasterDEMSource.h in Headers */ = {isa = PBXBuildFile; fileRef = DACA86242019218500E9693A /* MGLRasterDEMSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DA9EA828201C0B5400F9874D /* MGLRasterDEMSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = DACA86252019218500E9693A /* MGLRasterDEMSource.mm */; }; + DA9EA829201C0B8B00F9874D /* NSExpression+MGLPrivateAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DAC25FCB200FD83E009BE98E /* NSExpression+MGLPrivateAdditions.h */; }; + DA9EA82F201C0DB700F9874D /* (null) in Headers */ = {isa = PBXBuildFile; settings = {ATTRIBUTES = (Public, ); }; }; + DA9EA830201C0DB700F9874D /* (null) in Headers */ = {isa = PBXBuildFile; }; + DA9EA831201C0E2100F9874D /* NSOrthography+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 960369FF200565C700510F3D /* NSOrthography+MGLAdditions.h */; }; + DA9EA832201C0E2700F9874D /* NSOrthography+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 96036A00200565C700510F3D /* NSOrthography+MGLAdditions.m */; }; + DA9EA833201C0E8200F9874D /* MGLHillshadeStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAF2571F201902BB00367EF5 /* MGLHillshadeStyleLayerTests.mm */; }; + DA9EA834201C0F5300F9874D /* MGLNSOrthographyAdditionsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 96036A0520059BBA00510F3D /* MGLNSOrthographyAdditionsTests.m */; }; DAA32CC31E4C6B65006F8D24 /* MGLDistanceFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 3557F7AF1E1D27D300CCA5E6 /* MGLDistanceFormatter.m */; }; DAA4E4081CBB6C9500178DFB /* Mapbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA8847D21CBAF91600AB86E3 /* Mapbox.framework */; }; DAA4E4091CBB6C9500178DFB /* Mapbox.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DA8847D21CBAF91600AB86E3 /* Mapbox.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -725,6 +978,17 @@ DACA86272019218600E9693A /* MGLRasterDEMSource.h in Headers */ = {isa = PBXBuildFile; fileRef = DACA86242019218500E9693A /* MGLRasterDEMSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; DACA86282019218600E9693A /* MGLRasterDEMSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = DACA86252019218500E9693A /* MGLRasterDEMSource.mm */; }; DACA86292019218600E9693A /* MGLRasterDEMSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = DACA86252019218500E9693A /* MGLRasterDEMSource.mm */; }; + DACB6E3B1FD2306800E84DBE /* MGLMapAccessibilityElementTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA5DB1291FABF1EE001C2326 /* MGLMapAccessibilityElementTests.m */; }; + DACB6E3C1FD2307300E84DBE /* MGLMapAccessibilityElement.h in Headers */ = {isa = PBXBuildFile; fileRef = DA704CC01F65A475004B3F28 /* MGLMapAccessibilityElement.h */; }; + DACB6E3D1FD2307700E84DBE /* MGLMapAccessibilityElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA704CC11F65A475004B3F28 /* MGLMapAccessibilityElement.mm */; }; + DACB6E3E1FD2308B00E84DBE /* MGLComputedShapeSource_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D9474E1F67487E00E37934 /* MGLComputedShapeSource_Private.h */; }; + DACB6E3F1FD2309700E84DBE /* (null) in Sources */ = {isa = PBXBuildFile; }; + DACB6E401FD230F600E84DBE /* (null) in Headers */ = {isa = PBXBuildFile; settings = {ATTRIBUTES = (Public, ); }; }; + DACB6E411FD2311600E84DBE /* MGLComputedShapeSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 0778DD401F67555F00A73B34 /* MGLComputedShapeSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DACB6E421FD2311B00E84DBE /* MGLComputedShapeSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0778DD411F67555F00A73B34 /* MGLComputedShapeSource.mm */; }; + DACEC814227702C200A94C4C /* MGLSDKMetricsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FCCEC32222605C400302E3B /* MGLSDKMetricsManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DACEC815227702CA00A94C4C /* MGLSDKMetricsManager_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FCCEC38222607A500302E3B /* MGLSDKMetricsManager_Private.h */; }; + DACEC816227702CD00A94C4C /* MGLSDKMetricsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FCCEC33222605C400302E3B /* MGLSDKMetricsManager.m */; }; DAD1656C1CF41981001FF4B9 /* MGLFeature.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD165691CF41981001FF4B9 /* MGLFeature.h */; settings = {ATTRIBUTES = (Public, ); }; }; DAD1656D1CF41981001FF4B9 /* MGLFeature.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD165691CF41981001FF4B9 /* MGLFeature.h */; settings = {ATTRIBUTES = (Public, ); }; }; DAD1656E1CF41981001FF4B9 /* MGLFeature_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD1656A1CF41981001FF4B9 /* MGLFeature_Private.h */; }; @@ -734,7 +998,74 @@ DAD165791CF4CDFF001FF4B9 /* MGLShapeCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD165761CF4CDFF001FF4B9 /* MGLShapeCollection.h */; settings = {ATTRIBUTES = (Public, ); }; }; DAD1657A1CF4CDFF001FF4B9 /* MGLShapeCollection.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAD165771CF4CDFF001FF4B9 /* MGLShapeCollection.mm */; }; DAD1657B1CF4CDFF001FF4B9 /* MGLShapeCollection.mm in Sources */ = {isa = PBXBuildFile; fileRef = DAD165771CF4CDFF001FF4B9 /* MGLShapeCollection.mm */; }; + DADBA2BF22EE4F3800EF3738 /* MGLStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 35D13AB51D3D15E300AFB4E0 /* MGLStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DADBA2C022EE4F6900EF3738 /* MGLSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 35136D4A1D4277FC00C20EFD /* MGLSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DADBA2C122EE4FB200EF3738 /* MGLClockDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DADBA2C222EE501300EF3738 /* MGLNetworkConfiguration_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F2B94BF221636D800210640 /* MGLNetworkConfiguration_Private.h */; }; + DADBA2C322EE503900EF3738 /* MGLLoggingConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF75A91422D85E860058A5C4 /* MGLLoggingConfiguration.mm */; }; + DADBA2C422EE50BC00EF3738 /* MGLUserLocation_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = DA88484B1CBAFB9800AB86E3 /* MGLUserLocation_Private.h */; }; + DADBA2C522EE50E700EF3738 /* MGLCompassButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 96E6145722CC169000109F14 /* MGLCompassButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DADBA2C622EE50EC00EF3738 /* MGLCompassButton_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 9641771E22D546DA00332422 /* MGLCompassButton_Private.h */; }; + DADBA2C722EE50F000EF3738 /* MGLCompassButton.mm in Sources */ = {isa = PBXBuildFile; fileRef = 96E6145822CC169000109F14 /* MGLCompassButton.mm */; }; + DADBA2C822EE511400EF3738 /* MGLMapView+Impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 550570C522958FB400228ECF /* MGLMapView+Impl.h */; }; + DADBA2C922EE511A00EF3738 /* MGLMapView+Impl.mm in Sources */ = {isa = PBXBuildFile; fileRef = 550570C422958FB300228ECF /* MGLMapView+Impl.mm */; }; + DADBA2CA22EE511D00EF3738 /* MGLMapView+OpenGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 5580B459229570A00091291B /* MGLMapView+OpenGL.h */; }; + DADBA2CB22EE512400EF3738 /* MGLMapView+OpenGL.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5580B45A229570A10091291B /* MGLMapView+OpenGL.mm */; }; + DADBA2CE22EE520C00EF3738 /* MGLMapViewScaleBarTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9658C154204761FC00D8A674 /* MGLMapViewScaleBarTests.m */; }; + DADBA2CF22EE525B00EF3738 /* MGLMapViewZoomTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 9686D1BC22D9357700194EA0 /* MGLMapViewZoomTests.m */; }; + DADBA2D022EE526C00EF3738 /* MGLResourceTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = CAD9D0A922A86D6F001B25EE /* MGLResourceTests.mm */; }; + DADBA2D122EE52BB00EF3738 /* MGLNetworkConfigurationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = CA86FF0D22D8D5A0009EB14A /* MGLNetworkConfigurationTests.m */; }; + DADBA2D222EE52DA00EF3738 /* MGLAccountManagerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3502D6CB22AE88D5006BDFCE /* MGLAccountManagerTests.m */; }; + DADBA2D322EE52E600EF3738 /* MGLMapViewCompassViewTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 96E6145522CC135200109F14 /* MGLMapViewCompassViewTests.mm */; }; + DADCD5C821CCD308007DF3B2 /* MGLSymbolStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5ED0219B286400102936 /* MGLSymbolStyleLayer_Private.h */; }; + DADCD5C921CCD30C007DF3B2 /* MGLLineStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC7219B285000102936 /* MGLLineStyleLayer_Private.h */; }; + DADCD5CA21CCD30F007DF3B2 /* MGLOpenGLStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC8219B285000102936 /* MGLOpenGLStyleLayer_Private.h */; }; + DADCD5CB21CCD311007DF3B2 /* MGLRasterStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC9219B285000102936 /* MGLRasterStyleLayer_Private.h */; }; + DADCD5CC21CCD314007DF3B2 /* MGLBackgroundStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC2219B282500102936 /* MGLBackgroundStyleLayer_Private.h */; }; + DADCD5CD21CCD316007DF3B2 /* MGLCircleStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC1219B282500102936 /* MGLCircleStyleLayer_Private.h */; }; + DADCD5CE21CCD319007DF3B2 /* MGLFillExtrusionStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB6219B280300102936 /* MGLFillExtrusionStyleLayer_Private.h */; }; + DADCD5CF21CCD31B007DF3B2 /* MGLFillStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB7219B280300102936 /* MGLFillStyleLayer_Private.h */; }; + DADCD5D021CCD31E007DF3B2 /* MGLHeatmapStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB8219B280300102936 /* MGLHeatmapStyleLayer_Private.h */; }; + DADCD5D121CCD320007DF3B2 /* MGLHillshadeStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB5219B280300102936 /* MGLHillshadeStyleLayer_Private.h */; }; + DADCD5D221CCD323007DF3B2 /* MGLStyleLayerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EAF219B252C00102936 /* MGLStyleLayerManager.h */; }; + DADCD5D321CCD326007DF3B2 /* MGLStyleLayerManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 74CB5EB0219B252C00102936 /* MGLStyleLayerManager.mm */; }; + DADCD5D521CCD4A2007DF3B2 /* MGLRendererConfigurationTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = CA8FBC0821A47BB100D1203C /* MGLRendererConfigurationTests.mm */; }; DAE7DEC21E245455007505A6 /* MGLNSStringAdditionsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE7DEC11E245455007505A6 /* MGLNSStringAdditionsTests.m */; }; + DAE907451E76978A00E58785 /* MGLAttributionInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DAEDC4331D603417000224FF /* MGLAttributionInfoTests.m */; }; + DAE907461E76978A00E58785 /* MGLAnnotationViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 353D23951D0B0DFE002BE09D /* MGLAnnotationViewTests.m */; }; + DAE907471E76978A00E58785 /* MGLClockDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C31CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m */; }; + DAE907481E76978A00E58785 /* MGLCodingTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35D9DDE11DA25EEC00DAAD69 /* MGLCodingTests.mm */; }; + DAE907491E76978A00E58785 /* MGLCompassDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C41CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m */; }; + DAE9074A1E76978A00E58785 /* MGLCoordinateFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A91CCA058D00E826B2 /* MGLCoordinateFormatterTests.m */; }; + DAE9074B1E76978A00E58785 /* MGLDocumentationExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6407D66F1E0085FD00F6A9C3 /* MGLDocumentationExampleTests.swift */; }; + DAE9074C1E76978A00E58785 /* MGLExpressionTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = DD58A4C51D822BD000E1F038 /* MGLExpressionTests.mm */; }; + DAE9074D1E76978A00E58785 /* MGLDistanceFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3598544C1E1D38AA00B29F84 /* MGLDistanceFormatterTests.m */; }; + DAE9074E1E76978A00E58785 /* MGLFeatureTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA0CD58F1CF56F6A00A5F5A5 /* MGLFeatureTests.mm */; }; + DAE9074F1E76978A00E58785 /* MGLGeometryTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA2E885C1CC0382C00F24E7B /* MGLGeometryTests.mm */; }; + DAE907511E76978A00E58785 /* MGLNSDateAdditionsTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1F95931C1E6DE2E900D5B294 /* MGLNSDateAdditionsTests.mm */; }; + DAE907521E76978A00E58785 /* MGLNSStringAdditionsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DAE7DEC11E245455007505A6 /* MGLNSStringAdditionsTests.m */; }; + DAE907531E76978A00E58785 /* MGLOfflinePackTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2E885D1CC0382C00F24E7B /* MGLOfflinePackTests.m */; }; + DAE907541E76978A00E58785 /* MGLOfflineRegionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2E885E1CC0382C00F24E7B /* MGLOfflineRegionTests.m */; }; + DAE907551E76978B00E58785 /* MGLOfflineStorageTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 55E2AD121E5B125400E8C587 /* MGLOfflineStorageTests.mm */; }; + DAE907561E76978B00E58785 /* MGLPredicateTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35B8E08B1D6C8B5100E768D2 /* MGLPredicateTests.mm */; }; + DAE907571E76978B00E58785 /* MGLStyleTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = DA2E88601CC0382C00F24E7B /* MGLStyleTests.mm */; }; + DAE907581E76978B00E58785 /* MGLVersionNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = 556660D71E1D085500E2C41B /* MGLVersionNumber.m */; }; + DAE907591E76979600E58785 /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DA2784FB1DF02FF4001D5B8D /* Media.xcassets */; }; + DAE9075A1E76979900E58785 /* one-liner.json in Resources */ = {isa = PBXBuildFile; fileRef = DA35D0871E1A6309007DED41 /* one-liner.json */; }; + DAE9075C1E7697A500E58785 /* (null) in Sources */ = {isa = PBXBuildFile; }; + DAE9075D1E7697A500E58785 /* (null) in Sources */ = {isa = PBXBuildFile; }; + DAE9075E1E7697AF00E58785 /* MGLStyleLayerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA2DBBCD1D51E80400D38FF9 /* MGLStyleLayerTests.m */; }; + DAE9075F1E7697AF00E58785 /* MGLFillStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3575797F1D501E09000B822E /* MGLFillStyleLayerTests.mm */; }; + DAE907601E7697AF00E58785 /* MGLRasterStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 357579821D502AE6000B822E /* MGLRasterStyleLayerTests.mm */; }; + DAE907611E7697AF00E58785 /* MGLSymbolStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 357579841D502AF5000B822E /* MGLSymbolStyleLayerTests.mm */; }; + DAE907621E7697AF00E58785 /* MGLLineStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 357579861D502AFE000B822E /* MGLLineStyleLayerTests.mm */; }; + DAE907631E7697AF00E58785 /* MGLCircleStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 357579881D502B06000B822E /* MGLCircleStyleLayerTests.mm */; }; + DAE907641E7697AF00E58785 /* MGLBackgroundStyleLayerTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3575798A1D502B0C000B822E /* MGLBackgroundStyleLayerTests.mm */; }; + DAE907651E7697B400E58785 /* MGLShapeSourceTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 40CFA6501D787579008103BD /* MGLShapeSourceTests.mm */; }; + DAE907661E7697B400E58785 /* MGLSourceQueryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 920A3E5C1E6F995200C16EFC /* MGLSourceQueryTests.m */; }; + DAE907671E7697B400E58785 /* MGLTileSetTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4085AF081D933DEA00F11B22 /* MGLTileSetTests.mm */; }; + DAE9ED5022261BDD00C01291 /* MGLCluster.h in Headers */ = {isa = PBXBuildFile; fileRef = CA65C4F721E9BB080068B0D4 /* MGLCluster.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DAECE4BB20C64F090023C9DD /* NSPredicate+MGLPrivateAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FC4817B2098CBC0000D09B4 /* NSPredicate+MGLPrivateAdditions.h */; }; DAED38631D62D0FC00D7640F /* NSURL+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DAED38611D62D0FC00D7640F /* NSURL+MGLAdditions.h */; }; DAED38641D62D0FC00D7640F /* NSURL+MGLAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DAED38611D62D0FC00D7640F /* NSURL+MGLAdditions.h */; }; DAED38651D62D0FC00D7640F /* NSURL+MGLAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = DAED38621D62D0FC00D7640F /* NSURL+MGLAdditions.m */; }; @@ -805,6 +1136,13 @@ remoteGlobalIDString = DA8847D11CBAF91600AB86E3; remoteInfo = framework; }; + DA94B97B1E766E6400190EF5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = DA1DC9421CB6C1C2006E619F /* Project object */; + proxyType = 1; + remoteGlobalIDString = DA94B9701E766E6400190EF5; + remoteInfo = tv; + }; DAA4E40A1CBB6C9500178DFB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = DA1DC9421CB6C1C2006E619F /* Project object */; @@ -1259,11 +1597,13 @@ DA35D0871E1A6309007DED41 /* one-liner.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = "one-liner.json"; path = "../../darwin/test/one-liner.json"; sourceTree = "<group>"; }; DA3C6FF21E2859E700F962BE /* test-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "test-Bridging-Header.h"; path = "../../darwin/test/test-Bridging-Header.h"; sourceTree = "<group>"; }; DA4A26961CB6E795000B7809 /* Mapbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Mapbox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DA5218D420F5C92000A9C072 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.2.sdk/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = DEVELOPER_DIR; }; DA57D4AA1EBA8ED300793288 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = es; path = es.lproj/Localizable.stringsdict; sourceTree = "<group>"; }; DA57D4AB1EBA909900793288 /* lt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = lt; path = lt.lproj/Localizable.stringsdict; sourceTree = "<group>"; }; DA57D4AC1EBA922A00793288 /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = vi; path = vi.lproj/Localizable.stringsdict; sourceTree = "<group>"; }; DA5C09BA1EFC48550056B178 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = "<group>"; }; DA5C09BB1EFC486C0056B178 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Localizable.strings; sourceTree = "<group>"; }; + DA5C5C971F7DA09700B3E3AC /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS11.0.sdk/usr/lib/libsqlite3.tbd; sourceTree = DEVELOPER_DIR; }; DA5DB1291FABF1EE001C2326 /* MGLMapAccessibilityElementTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MGLMapAccessibilityElementTests.m; sourceTree = "<group>"; }; DA6023F11E4CE94300DBFF23 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Foundation.strings; sourceTree = "<group>"; }; DA6023F21E4CE94800DBFF23 /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = sv; path = sv.lproj/Foundation.stringsdict; sourceTree = "<group>"; }; @@ -1374,6 +1714,9 @@ DA93409C2085630C0059919A /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "pt-PT"; path = "pt-PT.lproj/Foundation.stringsdict"; sourceTree = "<group>"; }; DA93409D208563220059919A /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = "<group>"; }; DA93409E208563360059919A /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "pt-PT"; path = "pt-PT.lproj/Localizable.stringsdict"; sourceTree = "<group>"; }; + DA94B9711E766E6400190EF5 /* Mapbox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mapbox.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DA94B9791E766E6400190EF5 /* tvtest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = tvtest.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + DA94BA651E7675DB00190EF5 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.2.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; }; DA9C012B1E4C7AD900C4742A /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "pt-BR"; path = "pt-BR.lproj/Localizable.stringsdict"; sourceTree = "<group>"; }; DA9C012C1E4C7ADB00C4742A /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "pt-BR"; path = "pt-BR.lproj/Foundation.stringsdict"; sourceTree = "<group>"; }; DA9C012D1E4C7B1F00C4742A /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = "<group>"; }; @@ -1509,6 +1852,30 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DA94B96D1E766E6400190EF5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DA5721AA21479BC400B125FA /* libicu.a in Frameworks */, + DA5218CF20F5C80200A9C072 /* libmbgl-filesource.a in Frameworks */, + DA5218D520F5C92B00A9C072 /* MobileCoreServices.framework in Frameworks */, + DA5C5C981F7DA09700B3E3AC /* libsqlite3.tbd in Frameworks */, + DA94BA661E7675DB00190EF5 /* ImageIO.framework in Frameworks */, + DA5218D220F5C86B00A9C072 /* libmbgl-core.a in Frameworks */, + DA5218D020F5C83500A9C072 /* libmbgl-loop-darwin.a in Frameworks */, + DA5218D120F5C85400A9C072 /* GLKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DA94B9761E766E6400190EF5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DA5218D320F5C8FC00A9C072 /* libmbgl-core.a in Frameworks */, + DA94B97A1E766E6400190EF5 /* Mapbox.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DAA4E4101CBB71D400178DFB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1953,6 +2320,8 @@ DA8933D51CCD306400E68420 /* Mapbox.bundle */, 16376B071FFD9DAF0000563E /* integration.xctest */, 16376B2F1FFDB4B40000563E /* Integration Test Harness.app */, + DA94B9711E766E6400190EF5 /* Mapbox.framework */, + DA94B9791E766E6400190EF5 /* tvtest.xctest */, ); name = Products; sourceTree = "<group>"; @@ -2017,7 +2386,9 @@ 55CF7530213ED92A00ED86C4 /* libicu.a */, 55CF752E213ED92000ED86C4 /* libicu.a */, 55D120A91F79100C004B6D81 /* libmbgl-filesource.a */, + DA5C5C971F7DA09700B3E3AC /* libsqlite3.tbd */, 55D120A71F791007004B6D81 /* libmbgl-loop-darwin.a */, + DA94BA651E7675DB00190EF5 /* ImageIO.framework */, 36F1153C1D46080700878E1A /* libmbgl-platform-ios.a */, 554180411D2E97DE00012372 /* OpenGLES.framework */, 55D8C9951D0F18CE00F42F10 /* libsqlite3.tbd */, @@ -2027,6 +2398,7 @@ DAA4E4041CBB5C9E00178DFB /* ImageIO.framework */, DAA4E4061CBB5CBF00178DFB /* MobileCoreServices.framework */, DA4A26961CB6E795000B7809 /* Mapbox.framework */, + DA5218D420F5C92000A9C072 /* MobileCoreServices.framework */, ); name = Frameworks; sourceTree = "<group>"; @@ -2609,22 +2981,193 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DA94B96E1E766E6400190EF5 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + DADCD5D021CCD31E007DF3B2 /* MGLHeatmapStyleLayer_Private.h in Headers */, + DA5C5C8D1F7D96F500B3E3AC /* MGLUserLocationHeadingIndicator.h in Headers */, + DA94BA3C1E7674AD00190EF5 /* MGLUserLocation_Private.h in Headers */, + DA94BA321E76749400190EF5 /* MGLAnnotationImage.h in Headers */, + DA94BA171E76744300190EF5 /* MGLOfflineRegion_Private.h in Headers */, + DA3C26C120908A4800017A9A /* MGLCameraChangeReason.h in Headers */, + DA94B98B1E7672B200190EF5 /* MGLFoundation.h in Headers */, + DA94BA151E76743C00190EF5 /* MGLTilePyramidOfflineRegion.h in Headers */, + DA94BA001E76742500190EF5 /* MGLGeometry_Private.h in Headers */, + DA05C0B81FFFF3B10033CD0E /* MGLPolygon_Private.h in Headers */, + DA5C5C851F7D954D00B3E3AC /* MGLMapSnapshotter.h in Headers */, + DADCD5CE21CCD319007DF3B2 /* MGLFillExtrusionStyleLayer_Private.h in Headers */, + DADCD5CB21CCD311007DF3B2 /* MGLRasterStyleLayer_Private.h in Headers */, + DA5C09AA1EF9FF340056B178 /* MGLLight.h in Headers */, + DA94BA031E76742500190EF5 /* MGLShape_Private.h in Headers */, + DA94BA371E7674A500190EF5 /* MGLCompactCalloutView.h in Headers */, + DA94B9A31E76736200190EF5 /* MGLBackgroundStyleLayer.h in Headers */, + DADCD5CC21CCD314007DF3B2 /* MGLBackgroundStyleLayer_Private.h in Headers */, + DA94B9EE1E76740100190EF5 /* MGLCoordinateFormatter.h in Headers */, + DA94B9C71E76739D00190EF5 /* (null) in Headers */, + DA94BA341E76749A00190EF5 /* MGLAnnotationView_Private.h in Headers */, + DA94B9EF1E76740100190EF5 /* MGLDistanceFormatter.h in Headers */, + DA05C0BA1FFFF3C90033CD0E /* MGLPolyline_Private.h in Headers */, + DACEC815227702CA00A94C4C /* MGLSDKMetricsManager_Private.h in Headers */, + DA94BA261E76747000190EF5 /* UIColor+MGLAdditions.h in Headers */, + DA94B9ED1E76740100190EF5 /* MGLCompassDirectionFormatter.h in Headers */, + DA94B9A41E76736200190EF5 /* MGLCircleStyleLayer.h in Headers */, + DA94B9FC1E76741D00190EF5 /* MGLPolyline.h in Headers */, + DA94B9F61E76741D00190EF5 /* MGLGeometry.h in Headers */, + DA5C09AE1EF9FF4B0056B178 /* MGLFillExtrusionStyleLayer.h in Headers */, + DA94B9DB1E7673E800190EF5 /* NSURL+MGLAdditions.h in Headers */, + DA94B9C11E76738300190EF5 /* MGLVectorTileSource_Private.h in Headers */, + DA94BA231E76746100190EF5 /* MGLMapViewDelegate.h in Headers */, + DA94BA361E7674A000190EF5 /* MGLCalloutView.h in Headers */, + DA94BA271E76747000190EF5 /* UIImage+MGLAdditions.h in Headers */, + DA94BA541E7674F600190EF5 /* SMCalloutView.h in Headers */, + DA94B9BD1E76738300190EF5 /* MGLRasterTileSource_Private.h in Headers */, + DA94B9C81E76739D00190EF5 /* (null) in Headers */, + DA94B9B81E76737C00190EF5 /* MGLRasterTileSource.h in Headers */, + DA6D42612147AE3C009C1974 /* UIDevice+MGLAdditions.h in Headers */, + DA94B9BB1E76737C00190EF5 /* MGLTileSource.h in Headers */, + DA94B98E1E7672B200190EF5 /* MGLTypes.h in Headers */, + DA94B98A1E7672B200190EF5 /* MGLAttributionInfo.h in Headers */, + DA94B9AD1E76736700190EF5 /* MGLStyleLayer_Private.h in Headers */, + DA94B9A71E76736200190EF5 /* MGLLineStyleLayer.h in Headers */, + DA94B9D41E7673D600190EF5 /* NSException+MGLAdditions.h in Headers */, + DA94BA2F1E76749100190EF5 /* MGLAnnotationContainerView.h in Headers */, + DA94B9921E7672FA00190EF5 /* MGLNetworkConfiguration.h in Headers */, + DADBA2C822EE511400EF3738 /* MGLMapView+Impl.h in Headers */, + DA5721AF21479D6C00B125FA /* MGLLocationManager.h in Headers */, + DADCD5CA21CCD30F007DF3B2 /* MGLOpenGLStyleLayer_Private.h in Headers */, + DA94B9D01E7673C800190EF5 /* NSDate+MGLAdditions.h in Headers */, + DA94BA3D1E7674B000190EF5 /* MGLUserLocation.h in Headers */, + DA94B98F1E7672DF00190EF5 /* MGLAccountManager_Private.h in Headers */, + DAE9ED5022261BDD00C01291 /* MGLCluster.h in Headers */, + DA94B9CD1E7673B200190EF5 /* NSComparisonPredicate+MGLAdditions.h in Headers */, + DA94B99F1E76734900190EF5 /* MGLStyleValue_Private.h in Headers */, + DA9EA830201C0DB700F9874D /* (null) in Headers */, + DA94B9DA1E7673E500190EF5 /* NSString+MGLAdditions.h in Headers */, + DA94B9DC1E7673EB00190EF5 /* NSValue+MGLAdditions.h in Headers */, + DA9EA825201C0B3400F9874D /* MGLHillshadeStyleLayer.h in Headers */, + DA94B99D1E76734100190EF5 /* MGLConversion.h in Headers */, + DA94B9EC1E76740100190EF5 /* MGLClockDirectionFormatter.h in Headers */, + DA94B9881E76721800190EF5 /* Mapbox.h in Headers */, + DA94B9A51E76736200190EF5 /* MGLFillStyleLayer.h in Headers */, + DADBA2C622EE50EC00EF3738 /* MGLCompassButton_Private.h in Headers */, + DA94B9BF1E76738300190EF5 /* MGLSource_Private.h in Headers */, + DA94BA011E76742500190EF5 /* MGLMultiPoint_Private.h in Headers */, + DA94B9B91E76737C00190EF5 /* MGLShapeSource.h in Headers */, + DA5C09AC1EF9FF3D0056B178 /* MGLLight_Private.h in Headers */, + DA94B9FA1E76741D00190EF5 /* MGLPointCollection.h in Headers */, + DA2392C8224071F700895EA2 /* UIView+MGLAdditions.h in Headers */, + DA94BA141E76743C00190EF5 /* MGLOfflineStorage.h in Headers */, + DA94BA241E76746500190EF5 /* MGLMapView_Private.h in Headers */, + DA94B9A81E76736200190EF5 /* MGLOpenGLStyleLayer.h in Headers */, + DADBA2C522EE50E700EF3738 /* MGLCompassButton.h in Headers */, + DA94B9F71E76741D00190EF5 /* MGLMultiPoint.h in Headers */, + DAECE4BB20C64F090023C9DD /* NSPredicate+MGLPrivateAdditions.h in Headers */, + DA9EA827201C0B5200F9874D /* MGLRasterDEMSource.h in Headers */, + DA94B9C01E76738300190EF5 /* MGLTileSource_Private.h in Headers */, + DACB6E3E1FD2308B00E84DBE /* MGLComputedShapeSource_Private.h in Headers */, + DA94BA3A1E7674A900190EF5 /* MGLFaux3DUserLocationAnnotationView.h in Headers */, + DA5721AC21479D3F00B125FA /* MGLShapeOfflineRegion.h in Headers */, + DA5721AB21479D3B00B125FA /* MGLShapeOfflineRegion_Private.h in Headers */, + DA5721B021479D7100B125FA /* MGLLocationManager_Private.h in Headers */, + DACB6E3C1FD2307300E84DBE /* MGLMapAccessibilityElement.h in Headers */, + DA94B9FF1E76742500190EF5 /* MGLFeature_Private.h in Headers */, + DA94B9A61E76736200190EF5 /* MGLForegroundStyleLayer.h in Headers */, + DADCD5C921CCD30C007DF3B2 /* MGLLineStyleLayer_Private.h in Headers */, + DA94B9891E7672B200190EF5 /* MGLAccountManager.h in Headers */, + DADCD5CF21CCD31B007DF3B2 /* MGLFillStyleLayer_Private.h in Headers */, + DA94B9BA1E76737C00190EF5 /* MGLSource.h in Headers */, + DA3C26BF2090898D00017A9A /* MGLHeatmapStyleLayer.h in Headers */, + DA94BA301E76749100190EF5 /* MGLAnnotationContainerView_Private.h in Headers */, + DADBA2CA22EE511D00EF3738 /* MGLMapView+OpenGL.h in Headers */, + DA94B9F91E76741D00190EF5 /* MGLPointAnnotation.h in Headers */, + DA5C5C871F7D955B00B3E3AC /* MGLRendererFrontend.h in Headers */, + DA94BA221E76746100190EF5 /* MGLMapView+IBAdditions.h in Headers */, + DA94B9F81E76741D00190EF5 /* MGLOverlay.h in Headers */, + DA94B9951E76730400190EF5 /* MGLValueEvaluator.h in Headers */, + DACB6E411FD2311600E84DBE /* MGLComputedShapeSource.h in Headers */, + DA9EA829201C0B8B00F9874D /* NSExpression+MGLPrivateAdditions.h in Headers */, + DA9EA831201C0E2100F9874D /* NSOrthography+MGLAdditions.h in Headers */, + DA94B9A11E76735100190EF5 /* NSValue+MGLStyleAttributeAdditions.h in Headers */, + DA94B9F41E76741D00190EF5 /* MGLAnnotation.h in Headers */, + DA5C5C891F7D96E700B3E3AC /* MGLUserLocationHeadingArrowLayer.h in Headers */, + DADCD5CD21CCD316007DF3B2 /* MGLCircleStyleLayer_Private.h in Headers */, + DA94B9941E76730000190EF5 /* MGLStyle_Private.h in Headers */, + DA94B9F51E76741D00190EF5 /* MGLFeature.h in Headers */, + DACEC814227702C200A94C4C /* MGLSDKMetricsManager.h in Headers */, + DA94B9FE1E76741D00190EF5 /* MGLShapeCollection.h in Headers */, + DA94BA161E76744300190EF5 /* MGLOfflinePack_Private.h in Headers */, + DA94BA121E76743C00190EF5 /* MGLOfflinePack.h in Headers */, + DA94B9A91E76736200190EF5 /* MGLRasterStyleLayer.h in Headers */, + DA94B9D21E7673D200190EF5 /* NSDictionary+MGLAdditions.h in Headers */, + DA94B9911E7672EA00190EF5 /* MGLFoundation_Private.h in Headers */, + DA94B9901E7672EA00190EF5 /* MGLAttributionInfo_Private.h in Headers */, + DA94B9CE1E7673B600190EF5 /* NSCompoundPredicate+MGLAdditions.h in Headers */, + DA5C09B11EF9FF8A0056B178 /* MGLImageSource.h in Headers */, + DA94BA3F1E7674B500190EF5 /* MGLUserLocationAnnotationView_Private.h in Headers */, + DA94B9FB1E76741D00190EF5 /* MGLPolygon.h in Headers */, + DA94B9CC1E7673AE00190EF5 /* NSBundle+MGLAdditions.h in Headers */, + DA94B98C1E7672B200190EF5 /* MGLMapCamera.h in Headers */, + DADBA2C222EE501300EF3738 /* MGLNetworkConfiguration_Private.h in Headers */, + DA94B9BE1E76738300190EF5 /* MGLShapeSource_Private.h in Headers */, + DA94B9D81E7673E100190EF5 /* (null) in Headers */, + DA5C09B31EFA008C0056B178 /* MGLScaleBar.h in Headers */, + DA94BA181E76744300190EF5 /* MGLOfflineStorage_Private.h in Headers */, + DA94B9FD1E76741D00190EF5 /* MGLShape.h in Headers */, + DA94B9CA1E7673A900190EF5 /* NSArray+MGLAdditions.h in Headers */, + DADCD5D221CCD323007DF3B2 /* MGLStyleLayerManager.h in Headers */, + DA94B9AA1E76736200190EF5 /* MGLStyleLayer.h in Headers */, + DA94BA211E76746100190EF5 /* MGLMapView.h in Headers */, + DA94BA281E76747000190EF5 /* NSCoder+MGLAdditions.h in Headers */, + DA94B9BC1E76737C00190EF5 /* MGLVectorTileSource.h in Headers */, + DA5C5C881F7D96BF00B3E3AC /* UIViewController+MGLAdditions.h in Headers */, + DA4C76B321859D7A00564A86 /* MGLLoggingConfiguration.h in Headers */, + DA05C0BB1FFFF61E0033CD0E /* MGLRendererConfiguration.h in Headers */, + DA4C76B521859D8F00564A86 /* MGLLoggingConfiguration_Private.h in Headers */, + DA94B9AB1E76736200190EF5 /* MGLSymbolStyleLayer.h in Headers */, + DA94BA311E76749100190EF5 /* MGLAnnotationImage_Private.h in Headers */, + DA94BA021E76742500190EF5 /* MGLPointCollection_Private.h in Headers */, + DA94B9D51E7673DA00190EF5 /* NSExpression+MGLAdditions.h in Headers */, + DA94BA131E76743C00190EF5 /* MGLOfflineRegion.h in Headers */, + DA94B9AC1E76736200190EF5 /* MGLVectorStyleLayer.h in Headers */, + DA2392CC2240768800895EA2 /* MGLAttributedExpression.h in Headers */, + DA94BA401E7674B800190EF5 /* MGLUserLocationAnnotationView.h in Headers */, + DACB6E401FD230F600E84DBE /* (null) in Headers */, + DADCD5D121CCD320007DF3B2 /* MGLHillshadeStyleLayer_Private.h in Headers */, + DA5C5C821F7D94DF00B3E3AC /* (null) in Headers */, + DA94B98D1E7672B200190EF5 /* MGLStyle.h in Headers */, + DADCD5C821CCD308007DF3B2 /* MGLSymbolStyleLayer_Private.h in Headers */, + DA5C5C8B1F7D96ED00B3E3AC /* MGLUserLocationHeadingBeamLayer.h in Headers */, + DA94BA351E76749C00190EF5 /* MGLAnnotationView.h in Headers */, + DA5721AE21479D4A00B125FA /* MGLTilePyramidOfflineRegion_Private.h in Headers */, + DA94BA4E1E7674DC00190EF5 /* MGLSDKUpdateChecker.h in Headers */, + DA94B99E1E76734400190EF5 /* MGLStyleValue.h in Headers */, + DA94B9D61E7673DD00190EF5 /* NSPredicate+MGLAdditions.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DABFB85C1CBE99DE00D62B32 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + DA94B9D71E7673E000190EF5 /* (null) in Headers */, 556660CA1E1BF3A900E2C41B /* MGLFoundation.h in Headers */, 96E516ED200058A200A02306 /* MGLComputedShapeSource.h in Headers */, 35B82BF91D6C5F8400B1B721 /* NSPredicate+MGLAdditions.h in Headers */, 92FC0AEB207CEE16007B6B54 /* MGLShapeOfflineRegion.h in Headers */, DA35A2CA1CCAAAD200E826B2 /* NSValue+MGLAdditions.h in Headers */, + DA94BA061E76742700190EF5 /* MGLMultiPoint_Private.h in Headers */, 350098BC1D480108004B2AF0 /* MGLVectorTileSource.h in Headers */, FA68F14B1E9D656600F9F6C2 /* MGLFillExtrusionStyleLayer.h in Headers */, 96E516DE200054F700A02306 /* MGLGeometry_Private.h in Headers */, + DA94BA331E76749900190EF5 /* MGLAnnotationView_Private.h in Headers */, 353933FC1D3FB7C0003F57D7 /* MGLRasterStyleLayer.h in Headers */, 3566C76D1D4A8DFA008152BC /* MGLRasterTileSource.h in Headers */, + DADBA2BF22EE4F3800EF3738 /* MGLStyleLayer.h in Headers */, 9641772022D546DA00332422 /* MGLCompassButton_Private.h in Headers */, + DADBA2C122EE4FB200EF3738 /* MGLClockDirectionFormatter.h in Headers */, DAED38641D62D0FC00D7640F /* NSURL+MGLAdditions.h in Headers */, + DA94BA2E1E76748300190EF5 /* MGLAnnotationImage_Private.h in Headers */, DABFB85E1CBE99E500D62B32 /* MGLAnnotation.h in Headers */, DABFB8641CBE99E500D62B32 /* MGLOfflineStorage.h in Headers */, 9C6E283E22A982670056B7BE /* MMEMetrics.h in Headers */, @@ -2655,6 +3198,7 @@ 35E0CFE71D3E501500188327 /* MGLStyle_Private.h in Headers */, CA55CD42202C16AA00CE7095 /* MGLCameraChangeReason.h in Headers */, DABFB86D1CBE9A0F00D62B32 /* MGLAnnotationImage.h in Headers */, + DA94B9CB1E7673AC00190EF5 /* NSBundle+MGLAdditions.h in Headers */, DABFB8721CBE9A0F00D62B32 /* MGLUserLocation.h in Headers */, 92FC0AED207CEE16007B6B54 /* MGLShapeOfflineRegion_Private.h in Headers */, 9C6E284222A982670056B7BE /* MMETimerManager.h in Headers */, @@ -2663,13 +3207,13 @@ 3566C7721D4A9198008152BC /* MGLSource_Private.h in Headers */, 9C6E283D22A982670056B7BE /* MMELocationManager.h in Headers */, 353933FF1D3FB7DD003F57D7 /* MGLSymbolStyleLayer.h in Headers */, + DA94B9931E7672FB00190EF5 /* MGLNetworkConfiguration.h in Headers */, DAAF722E1DA903C700312FA4 /* MGLStyleValue_Private.h in Headers */, 9C6E283922A982670056B7BE /* MMEEventLogReportViewController.h in Headers */, 1F6A82A92138871900BA5B41 /* MGLLoggingConfiguration_Private.h in Headers */, DABFB8661CBE99E500D62B32 /* MGLPointAnnotation.h in Headers */, 96E6145A22CC169000109F14 /* MGLCompassButton.h in Headers */, 96E516E42000560B00A02306 /* MGLComputedShapeSource_Private.h in Headers */, - 96E516E92000560B00A02306 /* MGLAnnotationImage_Private.h in Headers */, 96E516E52000560B00A02306 /* MGLOfflinePack_Private.h in Headers */, DD9BE4F91EB263D20079A3AF /* UIViewController+MGLAdditions.h in Headers */, 9680274022653B84006BA4A1 /* MBXSKUToken.h in Headers */, @@ -2680,6 +3224,7 @@ 96E516E62000560B00A02306 /* MGLOfflineRegion_Private.h in Headers */, DAD1656D1CF41981001FF4B9 /* MGLFeature.h in Headers */, 550570C922958FB400228ECF /* MGLMapView+Impl.h in Headers */, + DADBA2C022EE4F6900EF3738 /* MGLSource.h in Headers */, 9C6E284622A982670056B7BE /* MMEUniqueIdentifier.h in Headers */, 5580B45C229570A10091291B /* MGLMapView+OpenGL.h in Headers */, 96E516E72000560B00A02306 /* MGLOfflineStorage_Private.h in Headers */, @@ -2687,14 +3232,15 @@ 9C6E284522A982670056B7BE /* MMEUINavigation.h in Headers */, DABFB86C1CBE99E500D62B32 /* MGLTypes.h in Headers */, 96E516F720005A2700A02306 /* MGLAnnotationContainerView.h in Headers */, + DA94B9D31E7673D500190EF5 /* NSException+MGLAdditions.h in Headers */, DABFB8691CBE99E500D62B32 /* MGLShape.h in Headers */, 9620BB391E69FE1700705A1D /* MGLSDKUpdateChecker.h in Headers */, 3510FFEB1D6D9C7A00F413B2 /* NSComparisonPredicate+MGLAdditions.h in Headers */, + DA94BA381E7674A600190EF5 /* MGLCompactCalloutView.h in Headers */, 35E1A4D91D74336F007AA97F /* MGLValueEvaluator.h in Headers */, DABFB8701CBE9A0F00D62B32 /* MGLMapView+IBAdditions.h in Headers */, 9C6E283822A982670056B7BE /* MMEEventLogger.h in Headers */, 6F018BAF220031BF003E7269 /* UIView+MGLAdditions.h in Headers */, - 96E516EA2000560B00A02306 /* MGLAnnotationView_Private.h in Headers */, 96E516FB20005A4000A02306 /* MGLUserLocationHeadingBeamLayer.h in Headers */, 96E516DC2000547000A02306 /* MGLPolyline_Private.h in Headers */, 353AFA151D65AB17005A69F4 /* NSDate+MGLAdditions.h in Headers */, @@ -2703,13 +3249,12 @@ DA72620C1DEEE3480043BB89 /* MGLOpenGLStyleLayer.h in Headers */, 1F2B94C1221636D900210640 /* MGLNetworkConfiguration_Private.h in Headers */, 35CE61831D4165D9004F2359 /* UIColor+MGLAdditions.h in Headers */, + DA9EA82F201C0DB700F9874D /* (null) in Headers */, 96E516F32000597100A02306 /* NSDictionary+MGLAdditions.h in Headers */, 1FCAE2A920B88B3800C577DD /* MGLLocationManager_Private.h in Headers */, 9C6E283422A982670056B7BE /* MMECommonEventData.h in Headers */, 9C6E281E22A980AC0056B7BE /* CLLocation+MMEMobileEvents.h in Headers */, - 96E516F02000595800A02306 /* NSBundle+MGLAdditions.h in Headers */, 96E516F920005A3500A02306 /* MGLFaux3DUserLocationAnnotationView.h in Headers */, - 96E516F22000596D00A02306 /* NSException+MGLAdditions.h in Headers */, 9C6E282222A980AC0056B7BE /* MMECategoryLoader.h in Headers */, 96E516EC2000560B00A02306 /* MGLUserLocationAnnotationView_Private.h in Headers */, 1FC4817F2098CD80000D09B4 /* NSPredicate+MGLPrivateAdditions.h in Headers */, @@ -2733,7 +3278,6 @@ 353933F31D3FB753003F57D7 /* MGLCircleStyleLayer.h in Headers */, 9C6E284722A982670056B7BE /* MMEDispatchManager.h in Headers */, 558DE7A11E5615E400C7916D /* MGLFoundation_Private.h in Headers */, - 96E516F820005A3000A02306 /* MGLCompactCalloutView.h in Headers */, 96E516E22000551900A02306 /* MGLPointCollection_Private.h in Headers */, 3538AA1E1D542239008EC33D /* MGLForegroundStyleLayer.h in Headers */, 30E578181DAA85520050F07E /* UIImage+MGLAdditions.h in Headers */, @@ -2752,16 +3296,18 @@ 1753ED431E53CE6F00A9FD90 /* MGLConversion.h in Headers */, DAC25FCD200FD83F009BE98E /* NSExpression+MGLPrivateAdditions.h in Headers */, 74CB5ED2219B286400102936 /* MGLSymbolStyleLayer_Private.h in Headers */, + DA94BA2D1E76748000190EF5 /* MGLAnnotationContainerView_Private.h in Headers */, + DADBA2C422EE50BC00EF3738 /* MGLUserLocation_Private.h in Headers */, 354B83971D2E873E005D9406 /* MGLUserLocationAnnotationView.h in Headers */, DAF0D8111DFE0EA000B28378 /* MGLRasterTileSource_Private.h in Headers */, 1F6A82A321360F9D00BA5B41 /* MGLLoggingConfiguration.h in Headers */, DABFB86B1CBE99E500D62B32 /* MGLTilePyramidOfflineRegion.h in Headers */, 968F36B51E4D128D003A5522 /* MGLDistanceFormatter.h in Headers */, 4018B1CB1CDC288E00F666AF /* MGLAnnotationView.h in Headers */, + DA94BA041E76742700190EF5 /* MGLFeature_Private.h in Headers */, DABFB85F1CBE99E500D62B32 /* MGLGeometry.h in Headers */, 1FCAE2A320B872A400C577DD /* MGLLocationManager.h in Headers */, 9C6E283A22A982670056B7BE /* MMEEventsConfiguration.h in Headers */, - 96E516E02000550C00A02306 /* MGLFeature_Private.h in Headers */, 9C6E284422A982670056B7BE /* MMEUIApplicationWrapper.h in Headers */, 9C6E283322A982670056B7BE /* MMEAPIClient.h in Headers */, 353933F61D3FB785003F57D7 /* MGLBackgroundStyleLayer.h in Headers */, @@ -2774,13 +3320,8 @@ 96E516DD200054F200A02306 /* MGLPolygon_Private.h in Headers */, 353933F91D3FB79F003F57D7 /* MGLLineStyleLayer.h in Headers */, 9C6E282622A980AC0056B7BE /* UIKit+MMEMobileEvents.h in Headers */, - 96E516EB2000560B00A02306 /* MGLUserLocation_Private.h in Headers */, 9C6E282022A980AC0056B7BE /* CLLocationManager+MMEMobileEvents.h in Headers */, - 35D13AB81D3D15E300AFB4E0 /* MGLStyleLayer.h in Headers */, 1FCCEC3B222607A500302E3B /* MGLSDKMetricsManager_Private.h in Headers */, - 35136D4D1D4277FC00C20EFD /* MGLSource.h in Headers */, - DA35A2BC1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */, - 96E516E82000560B00A02306 /* MGLAnnotationContainerView_Private.h in Headers */, 9C6E283722A982670056B7BE /* MMEEvent.h in Headers */, 35D13AC41D3D19DD00AFB4E0 /* MGLFillStyleLayer.h in Headers */, 9C6E284322A982670056B7BE /* MMETypes.h in Headers */, @@ -2794,7 +3335,6 @@ DAF0D8191DFE6B2800B28378 /* MGLAttributionInfo_Private.h in Headers */, DABFB86A1CBE99E500D62B32 /* MGLStyle.h in Headers */, DA00FC8F1D5EEB0D009AABC8 /* MGLAttributionInfo.h in Headers */, - 96E516E12000551100A02306 /* MGLMultiPoint_Private.h in Headers */, 3EA934623AD0000B7D99C3FB /* MGLRendererConfiguration.h in Headers */, DACA86272019218600E9693A /* MGLRasterDEMSource.h in Headers */, AC46EB5A225E600A0039C013 /* MMECertPin.h in Headers */, @@ -2913,6 +3453,42 @@ productReference = DA8933D51CCD306400E68420 /* Mapbox.bundle */; productType = "com.apple.product-type.bundle"; }; + DA94B9701E766E6400190EF5 /* tv */ = { + isa = PBXNativeTarget; + buildConfigurationList = DA94B9861E766E6400190EF5 /* Build configuration list for PBXNativeTarget "tv" */; + buildPhases = ( + DA94B96C1E766E6400190EF5 /* Sources */, + DA94B96D1E766E6400190EF5 /* Frameworks */, + DA94B96E1E766E6400190EF5 /* Headers */, + DA94B96F1E766E6400190EF5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = tv; + productName = tv; + productReference = DA94B9711E766E6400190EF5 /* Mapbox.framework */; + productType = "com.apple.product-type.framework"; + }; + DA94B9781E766E6400190EF5 /* tvtest */ = { + isa = PBXNativeTarget; + buildConfigurationList = DA94B9871E766E6400190EF5 /* Build configuration list for PBXNativeTarget "tvtest" */; + buildPhases = ( + DA94B9751E766E6400190EF5 /* Sources */, + DA94B9761E766E6400190EF5 /* Frameworks */, + DA94B9771E766E6400190EF5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + DA94B97C1E766E6400190EF5 /* PBXTargetDependency */, + ); + name = tvtest; + productName = tvTests; + productReference = DA94B9791E766E6400190EF5 /* tvtest.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; DAA4E4121CBB71D400178DFB /* static */ = { isa = PBXNativeTarget; buildConfigurationList = DAA4E4191CBB71D500178DFB /* Build configuration list for PBXNativeTarget "static" */; @@ -2989,6 +3565,14 @@ DA8933D41CCD306400E68420 = { CreatedOnToolsVersion = 7.3; }; + DA94B9701E766E6400190EF5 = { + CreatedOnToolsVersion = 8.3; + ProvisioningStyle = Automatic; + }; + DA94B9781E766E6400190EF5 = { + CreatedOnToolsVersion = 8.3; + ProvisioningStyle = Automatic; + }; DAA4E4121CBB71D400178DFB = { CreatedOnToolsVersion = 7.3; }; @@ -3044,6 +3628,8 @@ DA2E88501CC036F400F24E7B /* test */, 16376B061FFD9DAF0000563E /* integration */, 16376B2E1FFDB4B40000563E /* Integration Test Harness */, + DA94B9701E766E6400190EF5 /* tv */, + DA94B9781E766E6400190EF5 /* tvtest */, ); }; /* End PBXProject section */ @@ -3124,6 +3710,30 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DA94B96F1E766E6400190EF5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DA94BA1F1E76745800190EF5 /* Foundation.strings in Resources */, + DA94BA571E76750100190EF5 /* Localizable.stringsdict in Resources */, + DA94BA5B1E76755F00190EF5 /* strip-frameworks.sh in Resources */, + DA94BA561E76750100190EF5 /* Localizable.strings in Resources */, + DA94BA201E76745800190EF5 /* Foundation.stringsdict in Resources */, + DA5C09B61EFA01690056B178 /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DA94B9771E766E6400190EF5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DAE907591E76979600E58785 /* Media.xcassets in Resources */, + DAE9075A1E76979900E58785 /* one-liner.json in Resources */, + DA5C09B91EFA0CB70056B178 /* amsterdam.geojson in Resources */, + DA4C76B621859DF800564A86 /* sideload_sat.db in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DABCABA61CB80692000A7C39 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -3420,6 +4030,170 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + DA94B96C1E766E6400190EF5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DA94B9971E76733900190EF5 /* MGLAttributionInfo.mm in Sources */, + DACEC816227702CD00A94C4C /* MGLSDKMetricsManager.m in Sources */, + DA94BA441E7674C300190EF5 /* MGLCompactCalloutView.m in Sources */, + DA94B99A1E76733900190EF5 /* MGLNetworkConfiguration.m in Sources */, + DA94B9E21E7673FA00190EF5 /* NSCompoundPredicate+MGLAdditions.mm in Sources */, + DA94BA0D1E76743000190EF5 /* MGLPointCollection.mm in Sources */, + DA94BA1D1E76744800190EF5 /* MGLOfflineStorage.mm in Sources */, + DA94B9E71E7673FA00190EF5 /* NSPredicate+MGLAdditions.mm in Sources */, + DA9EA832201C0E2700F9874D /* NSOrthography+MGLAdditions.m in Sources */, + DA94B99C1E76733900190EF5 /* MGLTypes.m in Sources */, + DA94BA0A1E76743000190EF5 /* MGLGeometry.mm in Sources */, + DA94B9961E76733900190EF5 /* MGLAccountManager.m in Sources */, + DA94BA551E7674FA00190EF5 /* SMCalloutView.m in Sources */, + DA94B9C21E76738900190EF5 /* MGLRasterTileSource.mm in Sources */, + DA6D42622147AE3F009C1974 /* UIDevice+MGLAdditions.m in Sources */, + DA5C09B51EFA00A40056B178 /* UIViewController+MGLAdditions.m in Sources */, + DACB6E3D1FD2307700E84DBE /* MGLMapAccessibilityElement.mm in Sources */, + DA5721AD21479D4400B125FA /* MGLShapeOfflineRegion.mm in Sources */, + DA94B9DD1E7673FA00190EF5 /* (null) in Sources */, + DA94B9E41E7673FA00190EF5 /* NSDate+MGLAdditions.mm in Sources */, + DA94BA1C1E76744800190EF5 /* MGLOfflinePack.mm in Sources */, + DA94B9AF1E76737100190EF5 /* MGLCircleStyleLayer.mm in Sources */, + DA94B9B71E76737100190EF5 /* MGLVectorStyleLayer.m in Sources */, + DADBA2C722EE50F000EF3738 /* MGLCompassButton.mm in Sources */, + DA94B9B01E76737100190EF5 /* MGLFillStyleLayer.mm in Sources */, + DA2392C9224071FA00895EA2 /* UIView+MGLAdditions.m in Sources */, + DA94B9B51E76737100190EF5 /* MGLStyleLayer.mm in Sources */, + DA94BA0E1E76743000190EF5 /* MGLPolygon.mm in Sources */, + DA94B9AE1E76737100190EF5 /* MGLBackgroundStyleLayer.mm in Sources */, + DA94B9C31E76738900190EF5 /* MGLShapeSource.mm in Sources */, + DA94B9C41E76738900190EF5 /* MGLSource.mm in Sources */, + DA5C09B21EF9FF8E0056B178 /* MGLImageSource.mm in Sources */, + DA94B9F01E76740700190EF5 /* MGLClockDirectionFormatter.m in Sources */, + DA9EA828201C0B5400F9874D /* MGLRasterDEMSource.mm in Sources */, + DADBA2C322EE503900EF3738 /* MGLLoggingConfiguration.mm in Sources */, + DA9EA826201C0B3900F9874D /* MGLHillshadeStyleLayer.mm in Sources */, + DA94B9E91E7673FA00190EF5 /* NSString+MGLAdditions.m in Sources */, + DA94BA0C1E76743000190EF5 /* MGLPointAnnotation.mm in Sources */, + DA94BA451E7674C300190EF5 /* MGLFaux3DUserLocationAnnotationView.m in Sources */, + DA94B9B31E76737100190EF5 /* MGLOpenGLStyleLayer.mm in Sources */, + DA94B9F11E76740700190EF5 /* MGLCompassDirectionFormatter.m in Sources */, + DA94BA431E7674C300190EF5 /* MGLAnnotationView.mm in Sources */, + DACB6E3F1FD2309700E84DBE /* (null) in Sources */, + DA94B9DF1E7673FA00190EF5 /* NSArray+MGLAdditions.mm in Sources */, + DA94BA091E76743000190EF5 /* MGLFeature.mm in Sources */, + DA94BA111E76743000190EF5 /* MGLShapeCollection.mm in Sources */, + DA94BA521E7674E100190EF5 /* MGLSDKUpdateChecker.mm in Sources */, + DA94BA1E1E76744800190EF5 /* MGLTilePyramidOfflineRegion.mm in Sources */, + DA94B9EA1E7673FA00190EF5 /* NSURL+MGLAdditions.m in Sources */, + DA94B9E61E7673FA00190EF5 /* NSExpression+MGLAdditions.mm in Sources */, + DA94B9E01E7673FA00190EF5 /* NSBundle+MGLAdditions.m in Sources */, + DA94B9991E76733900190EF5 /* MGLMapCamera.mm in Sources */, + DADBA2C922EE511A00EF3738 /* MGLMapView+Impl.mm in Sources */, + DA94BA0F1E76743000190EF5 /* MGLPolyline.mm in Sources */, + DA94B9C61E76738900190EF5 /* MGLVectorTileSource.mm in Sources */, + DA94B9C51E76738900190EF5 /* MGLTileSource.mm in Sources */, + DA4C76B421859D8C00564A86 /* (null) in Sources */, + DA94BA461E7674C300190EF5 /* MGLUserLocation.m in Sources */, + DA94B9E51E7673FA00190EF5 /* NSDictionary+MGLAdditions.mm in Sources */, + DA94BA2A1E76747400190EF5 /* UIImage+MGLAdditions.mm in Sources */, + DA94BA251E76746900190EF5 /* MGLMapView.mm in Sources */, + DA3C26C02090899E00017A9A /* MGLHeatmapStyleLayer.mm in Sources */, + DA94BA411E7674C300190EF5 /* MGLAnnotationContainerView.m in Sources */, + DA5C5C861F7D955200B3E3AC /* MGLMapSnapshotter.mm in Sources */, + DA94B9DE1E7673FA00190EF5 /* (null) in Sources */, + DA94BA291E76747400190EF5 /* UIColor+MGLAdditions.mm in Sources */, + DA94B9E81E7673FA00190EF5 /* (null) in Sources */, + DA5C5C8A1F7D96EA00B3E3AC /* MGLUserLocationHeadingArrowLayer.m in Sources */, + DA94B99B1E76733900190EF5 /* MGLStyle.mm in Sources */, + DADBA2CB22EE512400EF3738 /* MGLMapView+OpenGL.mm in Sources */, + DA94B9B11E76737100190EF5 /* MGLForegroundStyleLayer.mm in Sources */, + DA94B9A01E76734D00190EF5 /* MGLStyleValue.mm in Sources */, + DA5C09AF1EF9FF4F0056B178 /* MGLFillExtrusionStyleLayer.mm in Sources */, + DACB6E421FD2311B00E84DBE /* MGLComputedShapeSource.mm in Sources */, + DA94BA421E7674C300190EF5 /* MGLAnnotationImage.m in Sources */, + DA94B9F21E76740700190EF5 /* MGLCoordinateFormatter.m in Sources */, + DA94B9981E76733900190EF5 /* MGLFoundation.mm in Sources */, + DA94BA471E7674C300190EF5 /* MGLUserLocationAnnotationView.m in Sources */, + DA2392CB2240768500895EA2 /* MGLAttributedExpression.m in Sources */, + DA5C5C8C1F7D96F000B3E3AC /* MGLUserLocationHeadingBeamLayer.m in Sources */, + DA05C0BC1FFFF6210033CD0E /* MGLRendererConfiguration.mm in Sources */, + DADCD5D321CCD326007DF3B2 /* MGLStyleLayerManager.mm in Sources */, + DA94BA0B1E76743000190EF5 /* MGLMultiPoint.mm in Sources */, + DA94B9E11E7673FA00190EF5 /* NSComparisonPredicate+MGLAdditions.mm in Sources */, + DA94BA2B1E76747400190EF5 /* NSCoder+MGLAdditions.mm in Sources */, + DA94B9F31E76740700190EF5 /* MGLDistanceFormatter.m in Sources */, + DA94B9B61E76737100190EF5 /* MGLSymbolStyleLayer.mm in Sources */, + DA94BA101E76743000190EF5 /* MGLShape.mm in Sources */, + DA94B9B41E76737100190EF5 /* MGLRasterStyleLayer.mm in Sources */, + DA5C09B41EFA008F0056B178 /* MGLScaleBar.mm in Sources */, + DA5C5C831F7D94E200B3E3AC /* (null) in Sources */, + DA5721B121479D7500B125FA /* MGLLocationManager.m in Sources */, + DA94B9B21E76737100190EF5 /* MGLLineStyleLayer.mm in Sources */, + DA94B9EB1E7673FA00190EF5 /* NSValue+MGLAdditions.m in Sources */, + DA94B9A21E76735300190EF5 /* NSValue+MGLStyleAttributeAdditions.mm in Sources */, + DA5C09AB1EF9FF390056B178 /* MGLLight.mm in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DA94B9751E766E6400190EF5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + DA5721B421479E4100B125FA /* MGLMapViewTests.m in Sources */, + DAE907511E76978A00E58785 /* MGLNSDateAdditionsTests.mm in Sources */, + DAE907551E76978B00E58785 /* MGLOfflineStorageTests.mm in Sources */, + DAE9074C1E76978A00E58785 /* MGLExpressionTests.mm in Sources */, + DAE907621E7697AF00E58785 /* MGLLineStyleLayerTests.mm in Sources */, + DAE907491E76978A00E58785 /* MGLCompassDirectionFormatterTests.m in Sources */, + DAE907601E7697AF00E58785 /* MGLRasterStyleLayerTests.mm in Sources */, + DADBA2CE22EE520C00EF3738 /* MGLMapViewScaleBarTests.m in Sources */, + DAE907471E76978A00E58785 /* MGLClockDirectionFormatterTests.m in Sources */, + DA5721B321479E1300B125FA /* MGLHeatmapStyleLayerTests.mm in Sources */, + DAE907671E7697B400E58785 /* MGLTileSetTests.mm in Sources */, + DAE907571E76978B00E58785 /* MGLStyleTests.mm in Sources */, + DADBA2D322EE52E600EF3738 /* MGLMapViewCompassViewTests.mm in Sources */, + DAE907461E76978A00E58785 /* MGLAnnotationViewTests.m in Sources */, + DAE9074F1E76978A00E58785 /* MGLGeometryTests.mm in Sources */, + DAE907641E7697AF00E58785 /* MGLBackgroundStyleLayerTests.mm in Sources */, + DAE907581E76978B00E58785 /* MGLVersionNumber.m in Sources */, + DAE9075F1E7697AF00E58785 /* MGLFillStyleLayerTests.mm in Sources */, + DAE907651E7697B400E58785 /* MGLShapeSourceTests.mm in Sources */, + DADBA2D122EE52BB00EF3738 /* MGLNetworkConfigurationTests.m in Sources */, + DAE907521E76978A00E58785 /* MGLNSStringAdditionsTests.m in Sources */, + DAE907611E7697AF00E58785 /* MGLSymbolStyleLayerTests.mm in Sources */, + DA5721B221479E0D00B125FA /* MGLHeatmapColorTests.mm in Sources */, + DA05C0BD1FFFF6890033CD0E /* MGLComputedShapeSourceTests.m in Sources */, + DAE907631E7697AF00E58785 /* MGLCircleStyleLayerTests.mm in Sources */, + DADBA2CF22EE525B00EF3738 /* MGLMapViewZoomTests.m in Sources */, + DAE9075D1E7697A500E58785 /* (null) in Sources */, + DA5C09B81EFA02A30056B178 /* MGLImageSourceTests.m in Sources */, + DA5C5C901F7D9C9500B3E3AC /* MGLSDKTestHelpers.swift in Sources */, + DACB6E3B1FD2306800E84DBE /* MGLMapAccessibilityElementTests.m in Sources */, + DA5C09B01EF9FF520056B178 /* MGLFillExtrusionStyleLayerTests.mm in Sources */, + DAE907481E76978A00E58785 /* MGLCodingTests.mm in Sources */, + DAE9074E1E76978A00E58785 /* MGLFeatureTests.mm in Sources */, + DAE907451E76978A00E58785 /* MGLAttributionInfoTests.m in Sources */, + DAE9075C1E7697A500E58785 /* (null) in Sources */, + DA9EA834201C0F5300F9874D /* MGLNSOrthographyAdditionsTests.m in Sources */, + DA2392CA224072E700895EA2 /* MGLMapViewDirectionTests.mm in Sources */, + DAE907561E76978B00E58785 /* MGLPredicateTests.mm in Sources */, + DAE907661E7697B400E58785 /* MGLSourceQueryTests.m in Sources */, + DAE9074D1E76978A00E58785 /* MGLDistanceFormatterTests.m in Sources */, + DAE907541E76978A00E58785 /* MGLOfflineRegionTests.m in Sources */, + DAE9074A1E76978A00E58785 /* MGLCoordinateFormatterTests.m in Sources */, + DA5C09B71EFA027E0056B178 /* MGLDocumentationGuideTests.swift in Sources */, + DA4C76B2218599F400564A86 /* MGLMapCameraTests.m in Sources */, + DADBA2D022EE526C00EF3738 /* MGLResourceTests.mm in Sources */, + DA9EA833201C0E8200F9874D /* MGLHillshadeStyleLayerTests.mm in Sources */, + DAE907531E76978A00E58785 /* MGLOfflinePackTests.m in Sources */, + DA5C5C921F7D9C9D00B3E3AC /* MGLAnnotationViewIntegrationTests.swift in Sources */, + DA5C5C911F7D9C9A00B3E3AC /* MGLMapViewDelegateIntegrationTests.swift in Sources */, + DA5C09AD1EF9FF430056B178 /* MGLLightTest.mm in Sources */, + DAE9074B1E76978A00E58785 /* MGLDocumentationExampleTests.swift in Sources */, + DADCD5D521CCD4A2007DF3B2 /* MGLRendererConfigurationTests.mm in Sources */, + DAE9075E1E7697AF00E58785 /* MGLStyleLayerTests.m in Sources */, + DADBA2D222EE52DA00EF3738 /* MGLAccountManagerTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; DAA4E40F1CBB71D400178DFB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3586,6 +4360,11 @@ target = DA8847D11CBAF91600AB86E3 /* dynamic */; targetProxy = DA8847D71CBAF91600AB86E3 /* PBXContainerItemProxy */; }; + DA94B97C1E766E6400190EF5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = DA94B9701E766E6400190EF5 /* tv */; + targetProxy = DA94B97B1E766E6400190EF5 /* PBXContainerItemProxy */; + }; DAA4E40B1CBB6C9500178DFB /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = DA8847D11CBAF91600AB86E3 /* dynamic */; @@ -4494,6 +5273,159 @@ }; name = Release; }; + DA94B9821E766E6400190EF5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 55D8C9941D0F133500F42F10 /* config.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + HEADER_SEARCH_PATHS = ( + "$(mbgl_core_INCLUDE_DIRECTORIES)", + "$(mbgl_filesource_INCLUDE_DIRECTORIES)", + ); + INFOPLIST_FILE = framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_CFLAGS = "-fvisibility=hidden"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "$(sqlite_cflags)", + "$(zlib_cflags)", + "$(rapidjson_cflags)", + "$(variant_cflags)", + "$(geometry_cflags)", + "$(geojson_cflags)", + ); + OTHER_LDFLAGS = ( + "$(mbgl_core_LINK_LIBRARIES)", + "$(mbgl_filesource_LINK_LIBRARIES)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.Mapbox; + PRODUCT_NAME = Mapbox; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = "__attribute__((visibility (\"default\"))) "; + }; + name = Debug; + }; + DA94B9831E766E6400190EF5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 55D8C9941D0F133500F42F10 /* config.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + HEADER_SEARCH_PATHS = ( + "$(mbgl_core_INCLUDE_DIRECTORIES)", + "$(mbgl_filesource_INCLUDE_DIRECTORIES)", + ); + INFOPLIST_FILE = framework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LLVM_LTO = YES; + OTHER_CFLAGS = "-fvisibility=hidden"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "$(sqlite_cflags)", + "$(zlib_cflags)", + "$(rapidjson_cflags)", + "$(variant_cflags)", + "$(geometry_cflags)", + "$(geojson_cflags)", + ); + OTHER_LDFLAGS = ( + "$(mbgl_core_LINK_LIBRARIES)", + "$(mbgl_filesource_LINK_LIBRARIES)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.Mapbox; + PRODUCT_NAME = Mapbox; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = "__attribute__((visibility (\"default\"))) "; + }; + name = Release; + }; + DA94B9841E766E6400190EF5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 55D8C9941D0F133500F42F10 /* config.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + HEADER_SEARCH_PATHS = ( + "$(mbgl_core_INCLUDE_DIRECTORIES)", + "$(mbgl_filesource_INCLUDE_DIRECTORIES)", + ); + INFOPLIST_FILE = test/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_CFLAGS = "-fvisibility=hidden"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "$(variant_cflags)", + "$(geometry_cflags)", + "$(geojson_cflags)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_OBJC_BRIDGING_HEADER = "../darwin/test/test-Bridging-Header.h"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + }; + name = Debug; + }; + DA94B9851E766E6400190EF5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 55D8C9941D0F133500F42F10 /* config.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CODE_SIGN_IDENTITY = ""; + HEADER_SEARCH_PATHS = ( + "$(mbgl_core_INCLUDE_DIRECTORIES)", + "$(mbgl_filesource_INCLUDE_DIRECTORIES)", + ); + INFOPLIST_FILE = test/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_CFLAGS = "-fvisibility=hidden"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "$(variant_cflags)", + "$(geometry_cflags)", + "$(geojson_cflags)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.test; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_OBJC_BRIDGING_HEADER = "../darwin/test/test-Bridging-Header.h"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + }; + name = Release; + }; DAA4E41A1CBB71D500178DFB /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 55D8C9941D0F133500F42F10 /* config.xcconfig */; @@ -4599,6 +5531,79 @@ }; name = Release; }; + DADCD5C621CCD296007DF3B2 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 55D8C9941D0F133500F42F10 /* config.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + HEADER_SEARCH_PATHS = ( + "$(mbgl_core_INCLUDE_DIRECTORIES)", + "$(mbgl_filesource_INCLUDE_DIRECTORIES)", + ); + INFOPLIST_FILE = framework/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LLVM_LTO = YES; + OTHER_CFLAGS = "-fvisibility=hidden"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "$(sqlite_cflags)", + "$(zlib_cflags)", + "$(rapidjson_cflags)", + "$(variant_cflags)", + "$(geometry_cflags)", + "$(geojson_cflags)", + ); + OTHER_LDFLAGS = ( + "$(mbgl_core_LINK_LIBRARIES)", + "$(mbgl_filesource_LINK_LIBRARIES)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.Mapbox; + PRODUCT_NAME = Mapbox; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = "__attribute__((visibility (\"default\"))) "; + }; + name = RelWithDebInfo; + }; + DADCD5C721CCD296007DF3B2 /* RelWithDebInfo */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 55D8C9941D0F133500F42F10 /* config.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CODE_SIGN_IDENTITY = ""; + HEADER_SEARCH_PATHS = ( + "$(mbgl_core_INCLUDE_DIRECTORIES)", + "$(mbgl_filesource_INCLUDE_DIRECTORIES)", + ); + INFOPLIST_FILE = test/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + OTHER_CFLAGS = "-fvisibility=hidden"; + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "$(variant_cflags)", + "$(geometry_cflags)", + "$(geojson_cflags)", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.mapbox.test; + PRODUCT_NAME = tvtest; + SDKROOT = appletvos; + SWIFT_OBJC_BRIDGING_HEADER = "../darwin/test/test-Bridging-Header.h"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 10.0; + }; + name = RelWithDebInfo; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -4672,6 +5677,26 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = RelWithDebInfo; }; + DA94B9861E766E6400190EF5 /* Build configuration list for PBXNativeTarget "tv" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DA94B9821E766E6400190EF5 /* Debug */, + DA94B9831E766E6400190EF5 /* Release */, + DADCD5C621CCD296007DF3B2 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DA94B9871E766E6400190EF5 /* Build configuration list for PBXNativeTarget "tvtest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + DA94B9841E766E6400190EF5 /* Debug */, + DA94B9851E766E6400190EF5 /* Release */, + DADCD5C721CCD296007DF3B2 /* RelWithDebInfo */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; DAA4E4191CBB71D500178DFB /* Build configuration list for PBXNativeTarget "static" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/tv.xcscheme b/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/tv.xcscheme new file mode 100644 index 0000000000..90cb75eb16 --- /dev/null +++ b/platform/ios/ios.xcodeproj/xcshareddata/xcschemes/tv.xcscheme @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "1010" + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "DA94B9701E766E6400190EF5" + BuildableName = "Mapbox.framework" + BlueprintName = "tv" + ReferencedContainer = "container:ios.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + buildConfiguration = "Debug" + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES"> + <Testables> + <TestableReference + skipped = "NO"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "DA94B9781E766E6400190EF5" + BuildableName = "tvtest.xctest" + BlueprintName = "tvtest" + ReferencedContainer = "container:ios.xcodeproj"> + </BuildableReference> + </TestableReference> + </Testables> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "DA94B9701E766E6400190EF5" + BuildableName = "Mapbox.framework" + BlueprintName = "tv" + ReferencedContainer = "container:ios.xcodeproj"> + </BuildableReference> + </MacroExpansion> + <AdditionalOptions> + </AdditionalOptions> + </TestAction> + <LaunchAction + buildConfiguration = "Debug" + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + debugServiceExtension = "internal" + allowLocationSimulation = "YES"> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "DA94B9701E766E6400190EF5" + BuildableName = "Mapbox.framework" + BlueprintName = "tv" + ReferencedContainer = "container:ios.xcodeproj"> + </BuildableReference> + </MacroExpansion> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + buildConfiguration = "Release" + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + debugDocumentVersioning = "YES"> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "DA94B9701E766E6400190EF5" + BuildableName = "Mapbox.framework" + BlueprintName = "tv" + ReferencedContainer = "container:ios.xcodeproj"> + </BuildableReference> + </MacroExpansion> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/platform/ios/src/MGLFaux3DUserLocationAnnotationView.m b/platform/ios/src/MGLFaux3DUserLocationAnnotationView.m index a1d9fb1d48..4b2e94d8e9 100644 --- a/platform/ios/src/MGLFaux3DUserLocationAnnotationView.m +++ b/platform/ios/src/MGLFaux3DUserLocationAnnotationView.m @@ -43,13 +43,26 @@ const CGFloat MGLUserLocationHeadingUpdateThreshold = 0.01; { if (CGSizeEqualToSize(self.frame.size, CGSizeZero)) { - CGFloat frameSize = (self.mapView.userTrackingMode == MGLUserTrackingModeFollowWithCourse) ? MGLUserLocationAnnotationPuckSize : MGLUserLocationAnnotationDotSize; + CGFloat frameSize = MGLUserLocationAnnotationDotSize; +#if !TARGET_OS_TV + if (self.mapView.userTrackingMode == MGLUserTrackingModeFollowWithCourse) { + frameSize = MGLUserLocationAnnotationPuckSize; + } +#endif [self updateFrameWithSize:frameSize]; } if (CLLocationCoordinate2DIsValid(self.userLocation.coordinate)) { - (self.mapView.userTrackingMode == MGLUserTrackingModeFollowWithCourse) ? [self drawPuck] : [self drawDot]; +#if TARGET_OS_TV + [self drawDot]; +#else + if (self.mapView.userTrackingMode == MGLUserTrackingModeFollowWithCourse) { + [self drawPuck]; + } else { + [self drawDot]; + } +#endif [self updatePitch]; } @@ -188,10 +201,12 @@ const CGFloat MGLUserLocationHeadingUpdateThreshold = 0.01; [self.layer addSublayer:_puckArrow]; } +#if !TARGET_OS_TV if (self.userLocation.location.course >= 0) { _puckArrow.affineTransform = CGAffineTransformRotate(CGAffineTransformIdentity, -MGLRadiansFromDegrees(self.mapView.direction - self.userLocation.location.course)); } +#endif if ( ! _puckModeActivated) { @@ -228,6 +243,7 @@ const CGFloat MGLUserLocationHeadingUpdateThreshold = 0.01; [self updateFrameWithSize:MGLUserLocationAnnotationDotSize]; } +#if !TARGET_OS_TV // heading indicator (tinted, beam or arrow) // BOOL headingTrackingModeEnabled = self.mapView.userTrackingMode == MGLUserTrackingModeFollowWithHeading; @@ -288,6 +304,7 @@ const CGFloat MGLUserLocationHeadingUpdateThreshold = 0.01; [_headingIndicatorLayer removeFromSuperlayer]; _headingIndicatorLayer = nil; } +#endif // update accuracy ring (if zoom or horizontal accuracy have changed) // diff --git a/platform/ios/src/MGLMapView.h b/platform/ios/src/MGLMapView.h index f799852fa7..d2df872662 100644 --- a/platform/ios/src/MGLMapView.h +++ b/platform/ios/src/MGLMapView.h @@ -91,7 +91,7 @@ typedef NS_ENUM(NSUInteger, MGLUserTrackingMode) { remains enabled if the user zooms in. If the user rotates the map view, this tracking mode will fall back to `MGLUserTrackingModeFollow`. */ - MGLUserTrackingModeFollowWithHeading, + MGLUserTrackingModeFollowWithHeading __TVOS_PROHIBITED, /** The map follows the user location and rotates when the course changes. Course represents the direction in which the device is traveling. @@ -102,7 +102,7 @@ typedef NS_ENUM(NSUInteger, MGLUserTrackingMode) { remains enabled if the user zooms in. If the user rotates the map view, this tracking mode will fall back to `MGLUserTrackingModeFollow`. */ - MGLUserTrackingModeFollowWithCourse, + MGLUserTrackingModeFollowWithCourse __TVOS_PROHIBITED, }; /** Options for `MGLMapView.preferredFramesPerSecond`. */ @@ -595,7 +595,7 @@ MGL_EXPORT transition. If you don’t want to animate the change, use the `-setTargetCoordinate:animated:` method instead. */ -@property (nonatomic, assign) CLLocationCoordinate2D targetCoordinate; +@property (nonatomic, assign) CLLocationCoordinate2D targetCoordinate __TVOS_PROHIBITED; /** Deprecated. Sets the geographic coordinate that is the subject of observation as @@ -618,7 +618,7 @@ MGL_EXPORT @param animated If `YES`, the map animates to fit the target within the map view. If `NO`, the map fits the target instantaneously. */ -- (void)setTargetCoordinate:(CLLocationCoordinate2D)targetCoordinate animated:(BOOL)animated __attribute__((deprecated("Use `-setTargetCoordinate:animated:completionHandler:` instead."))); +- (void)setTargetCoordinate:(CLLocationCoordinate2D)targetCoordinate animated:(BOOL)animated __attribute__((deprecated("Use `-setTargetCoordinate:animated:completionHandler:` instead."))) __TVOS_PROHIBITED; /** Sets the geographic coordinate that is the subject of observation as the user @@ -640,7 +640,7 @@ MGL_EXPORT view. If `NO`, the map fits the target instantaneously. @param completion The block executed after the animation finishes. */ -- (void)setTargetCoordinate:(CLLocationCoordinate2D)targetCoordinate animated:(BOOL)animated completionHandler:(nullable void (^)(void))completion; +- (void)setTargetCoordinate:(CLLocationCoordinate2D)targetCoordinate animated:(BOOL)animated completionHandler:(nullable void (^)(void))completion __TVOS_PROHIBITED; #pragma mark Configuring How the User Interacts with the Map @@ -671,6 +671,7 @@ MGL_EXPORT */ @property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled; +#if !TARGET_OS_TV /** A Boolean value that determines whether the user may rotate the map, changing the direction. @@ -698,6 +699,7 @@ MGL_EXPORT The default value of this property is `YES`. */ @property(nonatomic, getter=isPitchEnabled) BOOL pitchEnabled; +#endif /** A Boolean value that determines whether the user will receive haptic feedback diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm index d77f94d8ba..90b21fdbf8 100644 --- a/platform/ios/src/MGLMapView.mm +++ b/platform/ios/src/MGLMapView.mm @@ -59,7 +59,9 @@ #import "MGLScaleBar.h" #import "MGLStyle_Private.h" #import "MGLStyleLayer_Private.h" +#if !TARGET_OS_TV #import "MGLMapboxEvents.h" +#endif #import "MGLSDKUpdateChecker.h" #import "MGLCompactCalloutView.h" #import "MGLAnnotationContainerView.h" @@ -122,8 +124,10 @@ const double MGLMinimumZoomLevelForUserTracking = 10.5; /// Initial zoom level when entering user tracking mode from a low zoom level. const double MGLDefaultZoomLevelForUserTracking = 14.0; +#if !TARGET_OS_TV /// Tolerance for snapping to true north, measured in degrees in either direction. const CLLocationDirection MGLToleranceForSnappingToNorth = 7; +#endif /// Distance threshold to stop the camera while animating. const CLLocationDistance MGLDistanceThresholdForCameraPause = 500; @@ -209,8 +213,9 @@ public: @property (nonatomic) UITapGestureRecognizer *singleTapGestureRecognizer; @property (nonatomic) UITapGestureRecognizer *doubleTap; -@property (nonatomic) UITapGestureRecognizer *twoFingerTap; @property (nonatomic) UIPanGestureRecognizer *pan; +#if !TARGET_OS_TV +@property (nonatomic) UITapGestureRecognizer *twoFingerTap; @property (nonatomic) UIPinchGestureRecognizer *pinch; @property (nonatomic) UIRotationGestureRecognizer *rotate; @property (nonatomic) UILongPressGestureRecognizer *quickZoom; @@ -218,6 +223,7 @@ public: @property (nonatomic) UIInterfaceOrientation currentOrientation; @property (nonatomic) UIInterfaceOrientationMask applicationSupportedInterfaceOrientations; +#endif @property (nonatomic) MGLCameraChangeReason cameraChangeReasonBitmask; @@ -437,7 +443,7 @@ public: self.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction | UIAccessibilityTraitAdjustable; self.backgroundColor = [UIColor clearColor]; self.clipsToBounds = YES; - if (@available(iOS 11.0, *)) { self.accessibilityIgnoresInvertColors = YES; } + if (@available(iOS 11.0, tvOS 11.0, *)) { self.accessibilityIgnoresInvertColors = YES; } self.preferredFramesPerSecond = MGLMapViewPreferredFramesPerSecondDefault; @@ -556,10 +562,13 @@ public: // _pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)]; _pan.delegate = self; +#if !TARGET_OS_TV _pan.maximumNumberOfTouches = 1; +#endif [self addGestureRecognizer:_pan]; _scrollEnabled = YES; +#if !TARGET_OS_TV _pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinchGesture:)]; _pinch.delegate = self; [self addGestureRecognizer:_pinch]; @@ -569,11 +578,13 @@ public: _rotate.delegate = self; [self addGestureRecognizer:_rotate]; _rotateEnabled = YES; +#endif _doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTapGesture:)]; _doubleTap.numberOfTapsRequired = 2; [self addGestureRecognizer:_doubleTap]; +#if !TARGET_OS_TV _twoFingerDrag = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handleTwoFingerDragGesture:)]; _twoFingerDrag.minimumNumberOfTouches = 2; _twoFingerDrag.maximumNumberOfTouches = 2; @@ -588,21 +599,26 @@ public: [_twoFingerTap requireGestureRecognizerToFail:_rotate]; [_twoFingerTap requireGestureRecognizerToFail:_twoFingerDrag]; [self addGestureRecognizer:_twoFingerTap]; +#endif _hapticFeedbackEnabled = YES; _decelerationRate = MGLMapViewDecelerationRateNormal; +#if !TARGET_OS_TV _quickZoom = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleQuickZoomGesture:)]; _quickZoom.numberOfTapsRequired = 1; _quickZoom.minimumPressDuration = 0; [_quickZoom requireGestureRecognizerToFail:_doubleTap]; [self addGestureRecognizer:_quickZoom]; +#endif _singleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTapGesture:)]; [_singleTapGestureRecognizer requireGestureRecognizerToFail:_doubleTap]; _singleTapGestureRecognizer.delegate = self; +#if !TARGET_OS_TV [_singleTapGestureRecognizer requireGestureRecognizerToFail:_quickZoom]; +#endif [self addGestureRecognizer:_singleTapGestureRecognizer]; // observe app activity @@ -618,10 +634,12 @@ public: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveMemoryWarning) name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; +#if !TARGET_OS_TV // Device orientation management self.currentOrientation = UIInterfaceOrientationUnknown; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange:) name:UIDeviceOrientationDidChangeNotification object:nil]; [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; +#endif // set initial position // @@ -638,10 +656,12 @@ public: _pendingLongitude = NAN; _targetCoordinate = kCLLocationCoordinate2DInvalid; +#if !TARGET_OS_TV if ([UIApplication sharedApplication].applicationState != UIApplicationStateBackground) { [MGLMapboxEvents pushTurnstileEvent]; [MGLMapboxEvents pushEvent:MMEEventTypeMapLoad withAttributes:@{}]; } +#endif } @@ -689,7 +709,9 @@ public: MGLLogInfo(@"Deallocating MGLMapView."); [_reachability stopNotifier]; +#if !TARGET_OS_TV [[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]; +#endif [[NSNotificationCenter defaultCenter] removeObserver:self]; [_attributionButton removeObserver:self forKeyPath:@"hidden"]; @@ -717,7 +739,9 @@ public: self.attributionButtonConstraints = nil; [_locationManager stopUpdatingLocation]; +#if !TARGET_OS_TV [_locationManager stopUpdatingHeading]; +#endif _locationManager.delegate = nil; } @@ -1154,7 +1178,7 @@ public: newFrameRate = _preferredFramesPerSecond; } - if (@available(iOS 10.0, *)) + if (@available(iOS 10.0, tvOS 10.0, *)) { _displayLink.preferredFramesPerSecond = newFrameRate; } @@ -1167,7 +1191,11 @@ public: // `0` is an alias for maximum frame rate. newFrameRate = newFrameRate ?: maximumFrameRate; +#if TARGET_OS_IOS _displayLink.frameInterval = maximumFrameRate / MIN(newFrameRate, maximumFrameRate); +#else + _displayLink.preferredFramesPerSecond = MIN(newFrameRate, maximumFrameRate) / 60.0; +#endif } } @@ -1237,7 +1265,7 @@ public: } - (void)refreshSupportedInterfaceOrientationsWithWindow:(UIWindow *)window { - +#if !TARGET_OS_TV // "The system intersects the view controller's supported orientations with // the app's supported orientations (as determined by the Info.plist file or // the app delegate's application:supportedInterfaceOrientationsForWindow: @@ -1278,8 +1306,10 @@ public: }); self.applicationSupportedInterfaceOrientations = orientationMask; +#endif } +#if !TARGET_OS_TV - (void)deviceOrientationDidChange:(__unused NSNotification *)notification { UIDeviceOrientation deviceOrientation = [[UIDevice currentDevice] orientation]; @@ -1329,6 +1359,7 @@ public: // Upside Down (or from Left to Right)? [self setNeedsLayout]; } +#endif #pragma mark - Application lifecycle - (void)willResignActive:(NSNotification *)notification @@ -1412,7 +1443,9 @@ public: [self validateLocationServices]; +#if !TARGET_OS_TV [MGLMapboxEvents flush]; +#endif _displayLink.paused = YES; @@ -1458,8 +1491,10 @@ public: [self validateLocationServices]; +#if !TARGET_OS_TV [MGLMapboxEvents pushTurnstileEvent]; [MGLMapboxEvents pushEvent:MMEEventTypeMapLoad withAttributes:@{}]; +#endif } } @@ -1494,7 +1529,11 @@ public: - (void)touchesBegan:(__unused NSSet<UITouch *> *)touches withEvent:(__unused UIEvent *)event { - if (!self.zoomEnabled && !self.pitchEnabled && !self.rotateEnabled && !self.scrollEnabled) + if (!self.zoomEnabled && !self.scrollEnabled +#if !TARGET_OS_TV + && !self.pitchEnabled && !self.rotateEnabled +#endif + ) { return; }; @@ -1607,6 +1646,7 @@ public: } +#if !TARGET_OS_TV - (void)handlePinchGesture:(UIPinchGestureRecognizer *)pinch { if ( ! self.isZoomEnabled) return; @@ -1804,6 +1844,7 @@ public: } } } +#endif - (void)handleSingleTapGesture:(UITapGestureRecognizer *)singleTap { @@ -1928,6 +1969,7 @@ public: } } +#if !TARGET_OS_TV - (void)handleTwoFingerTapGesture:(UITapGestureRecognizer *)twoFingerTap { if (twoFingerTap.state != UIGestureRecognizerStateRecognized) return; @@ -2054,6 +2096,7 @@ public: } } +#endif - (MGLMapCamera *)cameraByPanningWithTranslation:(CGPoint)endPoint panGesture:(UIPanGestureRecognizer *)pan { @@ -2175,6 +2218,7 @@ public: { if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) { +#if !TARGET_OS_TV UIPanGestureRecognizer *panGesture = (UIPanGestureRecognizer *)gestureRecognizer; if (panGesture.minimumNumberOfTouches == 2) @@ -2193,6 +2237,7 @@ public: return NO; } } +#endif } else if (gestureRecognizer == _singleTapGestureRecognizer) { @@ -2208,6 +2253,7 @@ public: return YES; } +#if !TARGET_OS_TV - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { NSArray *validSimultaneousGestures = @[ self.pan, self.pinch, self.rotate ]; @@ -2224,6 +2270,7 @@ public: return degrees; } +#endif #pragma mark - Attribution - @@ -2248,8 +2295,13 @@ public: { attributionController.title = [actionSheetTitle stringByAppendingFormat:@" %@", [NSBundle mgl_frameworkInfoDictionary][@"MGLSemanticVersionString"]]; } - - NSArray *attributionInfos = [self.style attributionInfosWithFontSize:[UIFont buttonFontSize] + +#if TARGET_OS_TV + CGFloat fontSize = 0; +#else + CGFloat fontSize = [UIFont buttonFontSize]; +#endif + NSArray *attributionInfos = [self.style attributionInfosWithFontSize:fontSize linkColor:nil]; for (MGLAttributionInfo *info in attributionInfos) { @@ -2268,12 +2320,17 @@ public: direction:camera.heading pitch:camera.pitch]; } +#if TARGET_OS_IOS [[UIApplication sharedApplication] openURL:url]; +#else + [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil]; +#endif } }]; [attributionController addAction:action]; } +#if !TARGET_OS_TV NSString *telemetryTitle = NSLocalizedStringWithDefaultValue(@"TELEMETRY_NAME", nil, nil, @"Mapbox Telemetry", @"Action in attribution sheet"); UIAlertAction *telemetryAction = [UIAlertAction actionWithTitle:telemetryTitle style:UIAlertActionStyleDefault @@ -2281,6 +2338,7 @@ public: [self presentTelemetryAlertController]; }]; [attributionController addAction:telemetryAction]; +#endif NSString *cancelTitle = NSLocalizedStringWithDefaultValue(@"CANCEL", nil, nil, @"Cancel", @"Title of button for dismissing attribution action sheet"); UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:cancelTitle @@ -2296,6 +2354,7 @@ public: self.attributionController = attributionController; } +#if !TARGET_OS_TV - (void)presentTelemetryAlertController { NSString *title = NSLocalizedStringWithDefaultValue(@"TELEMETRY_TITLE", nil, nil, @"Make Mapbox Maps Better", @"Telemetry prompt title"); @@ -2344,6 +2403,7 @@ public: UIViewController *viewController = [self.window.rootViewController mgl_topMostViewController]; [viewController presentViewController:alertController animated:YES completion:NULL]; } +#endif #pragma mark - Properties - @@ -2351,12 +2411,14 @@ public: { if ([keyPath isEqualToString:@"hidden"] && object == _attributionButton) { +#if !TARGET_OS_TV NSNumber *hiddenNumber = change[NSKeyValueChangeNewKey]; BOOL attributionButtonWasHidden = [hiddenNumber boolValue]; if (attributionButtonWasHidden) { [MGLMapboxEvents ensureMetricsOptoutExists]; } +#endif } else if ([keyPath isEqualToString:@"coordinate"] && [object conformsToProtocol:@protocol(MGLAnnotation)] && ![object isKindOfClass:[MGLMultiPoint class]]) { @@ -2527,10 +2589,12 @@ public: { MGLLogDebug(@"Setting zoomEnabled: %@", MGLStringFromBOOL(zoomEnabled)); _zoomEnabled = zoomEnabled; - self.pinch.enabled = zoomEnabled; self.doubleTap.enabled = zoomEnabled; +#if !TARGET_OS_TV + self.pinch.enabled = zoomEnabled; self.quickZoom.enabled = zoomEnabled; self.twoFingerTap.enabled = zoomEnabled; +#endif } - (void)setScrollEnabled:(BOOL)scrollEnabled @@ -2540,6 +2604,7 @@ public: self.pan.enabled = scrollEnabled; } +#if !TARGET_OS_TV - (void)setRotateEnabled:(BOOL)rotateEnabled { MGLLogDebug(@"Setting rotateEnabled: %@", MGLStringFromBOOL(rotateEnabled)); @@ -2553,6 +2618,7 @@ public: _pitchEnabled = pitchEnabled; self.twoFingerDrag.enabled = pitchEnabled; } +#endif - (void)setShowsScale:(BOOL)showsScale { @@ -3422,11 +3488,13 @@ public: MGLLogDebug(@"Setting direction: %f animated: %@", direction, MGLStringFromBOOL(animated)); if ( ! animated && ! self.rotationAllowed) return; +#if !TARGET_OS_TV if (self.userTrackingMode == MGLUserTrackingModeFollowWithHeading || self.userTrackingMode == MGLUserTrackingModeFollowWithCourse) { self.userTrackingMode = MGLUserTrackingModeFollow; } +#endif [self _setDirection:direction animated:animated]; } @@ -5155,7 +5223,9 @@ public: locationManager = [[MGLCLLocationManager alloc] init]; } [_locationManager stopUpdatingLocation]; +#if !TARGET_OS_TV [_locationManager stopUpdatingHeading]; +#endif _locationManager.delegate = nil; _locationManager = locationManager; @@ -5184,7 +5254,9 @@ public: if (hasAlwaysUsageDescription) { +#if !TARGET_OS_TV [self.locationManager requestAlwaysAuthorization]; +#endif } else if (hasWhenInUseUsageDescription) { @@ -5200,14 +5272,18 @@ public: } } +#if !TARGET_OS_TV [self.locationManager startUpdatingLocation]; [self validateUserHeadingUpdating]; +#endif } else if ( ! shouldEnableLocationServices && self.locationManager) { +#if !TARGET_OS_TV [self.locationManager stopUpdatingLocation]; [self.locationManager stopUpdatingHeading]; +#endif } } @@ -5317,7 +5393,9 @@ public: return; } +#if !TARGET_OS_TV MGLUserTrackingMode oldMode = _userTrackingMode; +#endif [self willChangeValueForKey:@"userTrackingMode"]; _userTrackingMode = mode; [self didChangeValueForKey:@"userTrackingMode"]; @@ -5335,13 +5413,16 @@ public: break; } case MGLUserTrackingModeFollow: +#if !TARGET_OS_TV case MGLUserTrackingModeFollowWithCourse: +#endif { self.userTrackingState = animated ? MGLUserTrackingStatePossible : MGLUserTrackingStateChanged; self.showsUserLocation = YES; break; } +#if !TARGET_OS_TV case MGLUserTrackingModeFollowWithHeading: { if (oldMode == MGLUserTrackingModeNone) @@ -5358,6 +5439,10 @@ public: break; } +#else + default: + break; +#endif } CLLocation *location; @@ -5396,6 +5481,7 @@ public: } } +#if !TARGET_OS_TV - (void)setTargetCoordinate:(CLLocationCoordinate2D)targetCoordinate { [self setTargetCoordinate:targetCoordinate animated:YES completionHandler:nil]; @@ -5430,6 +5516,7 @@ public: completion(); } } +#endif - (void)setShowsUserHeadingIndicator:(BOOL)showsUserHeadingIndicator { @@ -5445,6 +5532,7 @@ public: - (void)validateUserHeadingUpdating { +#if !TARGET_OS_TV BOOL canShowPermanentHeadingIndicator = self.showsUserHeadingIndicator && self.userTrackingMode != MGLUserTrackingModeFollowWithCourse; if (canShowPermanentHeadingIndicator || self.userTrackingMode == MGLUserTrackingModeFollowWithHeading) @@ -5456,6 +5544,7 @@ public: { [self.locationManager stopUpdatingHeading]; } +#endif } - (void)locationManager:(id<MGLLocationManager>)manager didUpdateLocations:(NSArray *)locations @@ -5472,7 +5561,10 @@ public: if ( ! _showsUserLocation || ! newLocation || ! CLLocationCoordinate2DIsValid(newLocation.coordinate)) return; if (! oldLocation || ! CLLocationCoordinate2DIsValid(oldLocation.coordinate) || [newLocation distanceFromLocation:oldLocation] - || oldLocation.course != newLocation.course) +#if !TARGET_OS_TV + || oldLocation.course != newLocation.course +#endif + ) { if ( ! oldLocation || ! CLLocationCoordinate2DIsValid(oldLocation.coordinate) || self.userTrackingState != MGLUserTrackingStateBegan) { @@ -5521,7 +5613,10 @@ public: CGPoint correctPoint = self.userLocationAnnotationViewCenter; CGPoint currentPoint = [self convertCoordinate:self.userLocation.coordinate toPointToView:self]; if (std::abs(currentPoint.x - correctPoint.x) <= 1.0 && std::abs(currentPoint.y - correctPoint.y) <= 1.0 - && self.userTrackingMode != MGLUserTrackingModeFollowWithCourse) +#if !TARGET_OS_TV + && self.userTrackingMode != MGLUserTrackingModeFollowWithCourse +#endif + ) { if (completion) { @@ -5530,6 +5625,9 @@ public: return; } +#if TARGET_OS_TV + if (NO) {} +#else if (self.userTrackingMode == MGLUserTrackingModeFollowWithCourse && CLLocationCoordinate2DIsValid(self.targetCoordinate)) { @@ -5539,6 +5637,7 @@ public: [self didUpdateLocationWithTargetAnimated:animated completionHandler:completion]; } } +#endif else if (self.userTrackingState == MGLUserTrackingStatePossible) { // The first location update is often a great distance away from the @@ -5606,6 +5705,7 @@ public: }]; } +#if !TARGET_OS_TV /// Changes the viewport based on a location update in the presence of a target /// coordinate that must also be displayed on the map concurrently. - (void)didUpdateLocationWithTargetAnimated:(BOOL)animated completionHandler:(nullable void (^)(void))completion @@ -5651,6 +5751,7 @@ public: animationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear] completionHandler:animationCompletion]; } +#endif /// Returns the edge padding to apply when moving the map to a tracked location. - (UIEdgeInsets)edgePaddingForFollowing @@ -5683,6 +5784,7 @@ public: - (CLLocationDirection)directionByFollowingWithCourse { CLLocationDirection direction = -1; +#if !TARGET_OS_TV if (self.userTrackingMode == MGLUserTrackingModeFollowWithCourse) { if (CLLocationCoordinate2DIsValid(self.targetCoordinate)) @@ -5711,9 +5813,11 @@ public: #pragma clang diagnostic pop } } +#endif return direction; } +#if !TARGET_OS_TV - (BOOL)locationManagerShouldDisplayHeadingCalibration:(id<MGLLocationManager>)manager { if (self.displayHeadingCalibration) [self performSelector:@selector(dismissHeadingCalibrationDisplay:) @@ -5754,6 +5858,7 @@ public: [self _setDirection:headingDirection animated:YES]; } } +#endif - (void)locationManager:(__unused id<MGLLocationManager>)manager didFailWithError:(NSError *)error { @@ -5771,6 +5876,7 @@ public: - (void)updateHeadingForDeviceOrientation { +#if !TARGET_OS_TV if (self.locationManager) { // note that right/left device and interface orientations are opposites (see UIApplication.h) @@ -5809,6 +5915,7 @@ public: self.locationManager.headingOrientation = orientation; } } +#endif } #pragma mark Data @@ -5905,6 +6012,7 @@ public: - (void)unrotateIfNeededForGesture { +#if !TARGET_OS_TV // Avoid contention with in-progress gestures. UIGestureRecognizerState state = self.pinch.state; if (self.direction != 0 @@ -5922,6 +6030,7 @@ public: [self resetNorthAnimated:YES]; } } +#endif } /// Rotate back to true north if the map view is zoomed too far out. @@ -6360,6 +6469,7 @@ public: - (void)updateAttributionAlertView { if (self.attributionController.presentingViewController) { self.attributionController.popoverPresentationController.sourceRect = self.attributionButton.frame; +#if TARGET_OS_IOS switch (self.attributionButtonPosition) { case MGLOrnamentPositionTopLeft: case MGLOrnamentPositionTopRight: @@ -6370,6 +6480,7 @@ public: [self.attributionController.popoverPresentationController setPermittedArrowDirections:UIMenuControllerArrowDown]; break; } +#endif [self.attributionController.popoverPresentationController.containerView setNeedsLayout]; } } @@ -6751,6 +6862,25 @@ public: self.scrollEnabled = allowsScrolling; } +#if TARGET_OS_TV +- (BOOL)allowsRotating +{ + return NO; +} + +- (void)setAllowsRotating:(BOOL)allowsRotating +{ +} + +- (BOOL)allowsTilting +{ + return NO; +} + +- (void)setAllowsTilting:(BOOL)allowsTilting +{ +} +#else + (NSSet<NSString *> *)keyPathsForValuesAffectingAllowsRotating { return [NSSet setWithObject:@"rotateEnabled"]; @@ -6782,6 +6912,7 @@ public: MGLLogDebug(@"Setting allowsTilting: %@", MGLStringFromBOOL(allowsTilting)); self.pitchEnabled = allowsTilting; } +#endif + (NSSet<NSString *> *)keyPathsForValuesAffectingShowsHeading { diff --git a/platform/ios/src/MGLUserLocation.h b/platform/ios/src/MGLUserLocation.h index d7c8576c47..1781d1e0c0 100644 --- a/platform/ios/src/MGLUserLocation.h +++ b/platform/ios/src/MGLUserLocation.h @@ -42,7 +42,7 @@ MGL_EXPORT `MGLUserTrackingModeFollowWithHeading` or if `MGLMapView.showsUserHeadingIndicator` is disabled. */ -@property (nonatomic, readonly, nullable) CLHeading *heading; +@property (nonatomic, readonly, nullable) CLHeading *heading __TVOS_PROHIBITED; #pragma mark Accessing the User Annotation Text diff --git a/platform/ios/src/MGLUserLocation.m b/platform/ios/src/MGLUserLocation.m index 245cbf4371..c3257ed59d 100644 --- a/platform/ios/src/MGLUserLocation.m +++ b/platform/ios/src/MGLUserLocation.m @@ -89,6 +89,7 @@ NS_ASSUME_NONNULL_END return self.mapView.userTrackingMode != MGLUserTrackingModeNone; } +#if !TARGET_OS_TV - (void)setHeading:(CLHeading *)newHeading { if (newHeading.trueHeading != _heading.trueHeading) @@ -98,6 +99,7 @@ NS_ASSUME_NONNULL_END [self didChangeValueForKey:@"heading"]; } } +#endif - (CLLocationCoordinate2D)coordinate { @@ -116,7 +118,11 @@ NS_ASSUME_NONNULL_END self.location.coordinate.latitude, self.location.coordinate.longitude, self.updating ? @"yes" : @"no", self.location.altitude, +#if TARGET_OS_TV + -1.0f, +#else self.heading.trueHeading, +#endif self.title ? [NSString stringWithFormat:@"\"%@\"", self.title] : self.title, self.subtitle ? [NSString stringWithFormat:@"\"%@\"", self.subtitle] : self.subtitle]; } diff --git a/platform/ios/src/MGLUserLocation_Private.h b/platform/ios/src/MGLUserLocation_Private.h index 48f6d40e8c..4aedb8bff6 100644 --- a/platform/ios/src/MGLUserLocation_Private.h +++ b/platform/ios/src/MGLUserLocation_Private.h @@ -10,7 +10,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, weak) MGLMapView *mapView; @property (nonatomic, readwrite, nullable) CLLocation *location; -@property (nonatomic, readwrite, nullable) CLHeading *heading; +@property (nonatomic, readwrite, nullable) CLHeading *heading __TVOS_PROHIBITED; - (instancetype)initWithMapView:(MGLMapView *)mapView; diff --git a/platform/ios/src/NSOrthography+MGLAdditions.m b/platform/ios/src/NSOrthography+MGLAdditions.m index f48a2ffcbe..a449c45b99 100644 --- a/platform/ios/src/NSOrthography+MGLAdditions.m +++ b/platform/ios/src/NSOrthography+MGLAdditions.m @@ -3,7 +3,7 @@ @implementation NSOrthography (MGLAdditions) + (NSString *)mgl_dominantScriptForMapboxStreetsLanguage:(NSString *)language { - if (@available(iOS 11.0, *)) { + if (@available(iOS 11.0, tvOS 11.0, *)) { NSLocale *locale = [NSLocale localeWithLocaleIdentifier:language]; NSOrthography *orthography = [NSOrthography defaultOrthographyForLanguage:locale.localeIdentifier]; diff --git a/platform/ios/src/UIView+MGLAdditions.m b/platform/ios/src/UIView+MGLAdditions.m index 43c54409bd..a7d74e3e88 100644 --- a/platform/ios/src/UIView+MGLAdditions.m +++ b/platform/ios/src/UIView+MGLAdditions.m @@ -21,7 +21,7 @@ } - (NSLayoutYAxisAnchor *)mgl_safeTopAnchor { - if (@available(iOS 11.0, *)) { + if (@available(iOS 11.0, tvOS 11.0, *)) { return self.safeAreaLayoutGuide.topAnchor; } else { UIViewController *viewController = self.mgl_viewControllerForLayoutGuides; @@ -36,7 +36,7 @@ } - (NSLayoutXAxisAnchor *)mgl_safeLeadingAnchor { - if (@available(iOS 11.0, *)) { + if (@available(iOS 11.0, tvOS 11.0, *)) { return self.safeAreaLayoutGuide.leadingAnchor; } else { return self.leadingAnchor; @@ -44,7 +44,7 @@ } - (NSLayoutYAxisAnchor *)mgl_safeBottomAnchor { - if (@available(iOS 11.0, *)) { + if (@available(iOS 11.0, tvOS 11.0, *)) { return self.safeAreaLayoutGuide.bottomAnchor; } else { UIViewController *viewController = self.mgl_viewControllerForLayoutGuides; @@ -59,7 +59,7 @@ } - (NSLayoutXAxisAnchor *)mgl_safeTrailingAnchor { - if (@available(iOS 11.0, *)) { + if (@available(iOS 11.0, tvOS 11.0, *)) { return self.safeAreaLayoutGuide.trailingAnchor; } else { return self.trailingAnchor; diff --git a/platform/ios/test/MGLAccountManagerTests.m b/platform/ios/test/MGLAccountManagerTests.m index fd59de2fd5..add24d1439 100644 --- a/platform/ios/test/MGLAccountManagerTests.m +++ b/platform/ios/test/MGLAccountManagerTests.m @@ -18,8 +18,10 @@ @implementation MGLAccountManagerTests +#if TARGET_OS_IOS - (void)testSKU { XCTAssertTrue([[MGLAccountManager valueForKeyPath:@"skuToken"] isEqualToString:@"foo"]); } +#endif @end diff --git a/platform/ios/test/MGLMapViewDirectionTests.mm b/platform/ios/test/MGLMapViewDirectionTests.mm index 8a724a06bc..ef2e626d2b 100644 --- a/platform/ios/test/MGLMapViewDirectionTests.mm +++ b/platform/ios/test/MGLMapViewDirectionTests.mm @@ -4,16 +4,20 @@ #import <mbgl/math/wrap.hpp> @interface MGLMapView (MGLMapViewDirectionTests) +#if TARGET_OS_IOS - (void)handleRotateGesture:(UIRotationGestureRecognizer *)rotate; +#endif - (void)resetNorthAnimated:(BOOL)animated; @end +#if TARGET_OS_IOS @interface UIRotationGestureRecognizerMock : UIRotationGestureRecognizer @end @implementation UIRotationGestureRecognizerMock - (CGPoint)locationInView:(nullable UIView*)view { return view.center; } @end +#endif @interface MGLMapViewDirectionTests : XCTestCase @property (nonatomic) MGLMapView *mapView; @@ -59,6 +63,7 @@ XCTAssertEqual(originalCenterCoordinate.longitude, self.mapView.centerCoordinate.longitude, @"Map center coordinate latitude should remain constant when direction is reset."); } +#if TARGET_OS_IOS - (void)testRotateEnabled { self.mapView.zoomLevel = 10; @@ -116,6 +121,7 @@ XCTAssertEqualWithAccuracy(originalCenterCoordinate.longitude, self.mapView.centerCoordinate.longitude, 0.0000001, @"Map center coordinate longitude should remain constant during rotation of %@°.", degrees); } } +#endif - (void)testResetPosition { [self.mapView resetPosition]; diff --git a/platform/ios/test/MGLMapViewZoomTests.m b/platform/ios/test/MGLMapViewZoomTests.m index bd617857fd..d6ebfcce98 100644 --- a/platform/ios/test/MGLMapViewZoomTests.m +++ b/platform/ios/test/MGLMapViewZoomTests.m @@ -2,9 +2,12 @@ #import <XCTest/XCTest.h> @interface MGLMapView (MGLMapViewZoomTests) +#if TARGET_OS_IOS - (void)handlePinchGesture:(UIPinchGestureRecognizer *)pinch; +#endif @end +#if TARGET_OS_IOS @interface UIPinchGestureRecognizerMock : UIPinchGestureRecognizer @property (nonatomic) CGPoint locationInViewOverride; @end @@ -12,6 +15,7 @@ @implementation UIPinchGestureRecognizerMock - (CGPoint)locationInView:(nullable UIView *)view { return self.locationInViewOverride; } @end +#endif @interface MGLMapViewZoomTests : XCTestCase @property (nonatomic) MGLMapView *mapView; @@ -45,6 +49,7 @@ } } +#if TARGET_OS_IOS - (void)testZoomEnabled { UIPinchGestureRecognizerMock *gesture = [[UIPinchGestureRecognizerMock alloc] initWithTarget:nil action:nil]; gesture.state = UIGestureRecognizerStateBegan; @@ -136,5 +141,6 @@ NS_INLINE CGFloat MGLScaleFromZoomLevel(double zoom) { __unused NS_INLINE double MGLZoomLevelFromScale(CGFloat scale) { return log2(scale); } +#endif @end |