[ios, osx] Split MGLDirectionFormatter in two
Split MGLDirectionFormatter into MGLClockDirectionFormatter, which specializes in clock positions, and MGLCompassDirectionFormatter, which boxes the compass. This neatly avoids any confusion that might arise if the developer fails to read the documentation and thinks the original unified formatter can convert between the two types of directions.
This commit is contained in:
committed by
Minh Nguyễn
parent
e5c6cfde4b
commit
2a1a5f0885
@@ -57,6 +57,8 @@ custom_categories:
|
||||
- NSValue(MGLOfflinePackAdditions)
|
||||
- name: Geometry
|
||||
children:
|
||||
- MGLClockDirectionFormatter
|
||||
- MGLCompassDirectionFormatter
|
||||
- MGLCoordinateBounds
|
||||
- MGLCoordinateBoundsEqualToCoordinateBounds
|
||||
- MGLCoordinateBoundsGetCoordinateSpan
|
||||
@@ -69,8 +71,6 @@ custom_categories:
|
||||
- MGLCoordinateSpanMake
|
||||
- MGLCoordinateSpanZero
|
||||
- MGLDegreesFromRadians
|
||||
- MGLDirectionFormatter
|
||||
- MGLDirectionFormatterOrigin
|
||||
- MGLRadiansFromDegrees
|
||||
- MGLStringFromCoordinateBounds
|
||||
- NSValue(MGLGeometryAdditions)
|
||||
|
||||
52
platform/darwin/include/MGLClockDirectionFormatter.h
Normal file
52
platform/darwin/include/MGLClockDirectionFormatter.h
Normal file
@@ -0,0 +1,52 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
#import "MGLTypes.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/**
|
||||
The `MGLClockDirectionFormatter` class provides properly formatted descriptions
|
||||
of headings relative to the user, known as <i>clock positions</i>. For
|
||||
example, a value of `90` may be formatted as “3 o’clock”, depending on the
|
||||
locale.
|
||||
|
||||
Use this class to create localized heading strings when displaying directions
|
||||
relative to the user’s current location and heading. To format a direction
|
||||
irrespective of the user’s orientation, use `MGLCompassDirectionFormatter`
|
||||
instead.
|
||||
*/
|
||||
@interface MGLClockDirectionFormatter : NSFormatter
|
||||
|
||||
/**
|
||||
The unit style used by this formatter.
|
||||
|
||||
This property defaults to `NSFormattingUnitStyleMedium`.
|
||||
*/
|
||||
@property (nonatomic) NSFormattingUnitStyle unitStyle;
|
||||
|
||||
/**
|
||||
The locale of the receiver.
|
||||
|
||||
The locale determines the output language and numeral system of the output.
|
||||
*/
|
||||
@property (copy) NSLocale *locale;
|
||||
|
||||
/**
|
||||
Returns a clock position string for the provided value.
|
||||
|
||||
@param direction The heading, measured in degrees, where 0° means “straight
|
||||
ahead” and 90° means “directly to your right”.
|
||||
@return The clock position string appropriately formatted for the receiver’s
|
||||
locale.
|
||||
*/
|
||||
- (NSString *)stringFromDirection:(CLLocationDirection)direction;
|
||||
|
||||
/**
|
||||
This method is not supported for the `MGLDirectionFormatter` class.
|
||||
*/
|
||||
- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
42
platform/darwin/include/MGLCompassDirectionFormatter.h
Normal file
42
platform/darwin/include/MGLCompassDirectionFormatter.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
#import "MGLTypes.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/**
|
||||
The `MGLCompassDirectionFormatter` class provides properly formatted
|
||||
descriptions of absolute headings. For example, a value of `90` may be
|
||||
formatted as “east”, depending on the locale.
|
||||
|
||||
Use this class to create localized heading strings when displaying directions
|
||||
irrespective of the user’s current location. To format a direction relative to
|
||||
the user’s current location, use `MGLCompassDirectionFormatter` instead.
|
||||
*/
|
||||
@interface MGLCompassDirectionFormatter : NSFormatter
|
||||
|
||||
/**
|
||||
The unit style used by this formatter.
|
||||
|
||||
This property defaults to `NSFormattingUnitStyleMedium`.
|
||||
*/
|
||||
@property (nonatomic) NSFormattingUnitStyle unitStyle;
|
||||
|
||||
/**
|
||||
Returns a heading string for the provided value.
|
||||
|
||||
@param direction The heading, measured in degrees, where 0° means “due north”
|
||||
and 90° means “due east”.
|
||||
@return The heading string appropriately formatted for the formatter’s locale.
|
||||
*/
|
||||
- (NSString *)stringFromDirection:(CLLocationDirection)direction;
|
||||
|
||||
/**
|
||||
This method is not supported for the `MGLDirectionFormatter` class.
|
||||
*/
|
||||
- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -1,77 +0,0 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
|
||||
#import "MGLTypes.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/**
|
||||
The reference point for an `MGLDirectionFormatter`.
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, MGLDirectionFormatterOrigin) {
|
||||
/**
|
||||
Directions are assumed to be relative to true north and are given as
|
||||
compass directions, such as “south” for a value of `90`.
|
||||
*/
|
||||
MGLDirectionFormatterOriginNorth = 0,
|
||||
/**
|
||||
Directions are assumed to be relative to the direction in which the user is
|
||||
facing and are given as “clock directions”, such as “6 o’clock” for a value
|
||||
of `90`.
|
||||
*/
|
||||
MGLDirectionFormatterOriginStraightAhead,
|
||||
};
|
||||
|
||||
/**
|
||||
The `MGLDirectionFormatter` class provides properly formatted descriptions of
|
||||
absolute or relative headings. Use this class to create localized heading
|
||||
strings when displaying directional information to users.
|
||||
*/
|
||||
@interface MGLDirectionFormatter : NSFormatter
|
||||
|
||||
/**
|
||||
The receiver’s reference point. The receiver’s input is assumed to be relative
|
||||
to this reference point, and its output is given in the conventional form for
|
||||
directions with this reference point.
|
||||
|
||||
This class does not convert between different reference points. To convert an
|
||||
`CLLocationDirection` with respect to true north into a `CLLocationDirection`
|
||||
with respect to the direction in which the user is currently facing, use Core
|
||||
Location to determine the user’s current heading.
|
||||
|
||||
The default value of this property is `MGLDirectionFormatterOriginNorth`, which
|
||||
means a value of `0` is formatted as “north” in the receiver’s locale.
|
||||
*/
|
||||
@property (nonatomic) MGLDirectionFormatterOrigin origin;
|
||||
|
||||
/**
|
||||
The unit style used by this formatter.
|
||||
|
||||
This property defaults to `NSFormattingUnitStyleMedium`.
|
||||
*/
|
||||
@property (nonatomic) NSFormattingUnitStyle unitStyle;
|
||||
|
||||
/**
|
||||
The locale of the receiver.
|
||||
|
||||
The locale determines the output language as well as the numeral system used
|
||||
when the `relativeToUser` property is set to `YES`.
|
||||
*/
|
||||
@property (copy) NSLocale *locale;
|
||||
|
||||
/**
|
||||
Returns a heading string for the provided value.
|
||||
|
||||
@param direction The heading, measured in degrees.
|
||||
@return The heading string appropriately formatted for the formatter’s locale.
|
||||
*/
|
||||
- (NSString *)stringFromDirection:(CLLocationDirection)direction;
|
||||
|
||||
/**
|
||||
This method is not supported for the `MGLDirectionFormatter` class.
|
||||
*/
|
||||
- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
64
platform/darwin/src/MGLClockDirectionFormatter.m
Normal file
64
platform/darwin/src/MGLClockDirectionFormatter.m
Normal file
@@ -0,0 +1,64 @@
|
||||
#import "MGLClockDirectionFormatter.h"
|
||||
|
||||
#define wrap(value, min, max) \
|
||||
(fmod((fmod((value - min), (max - min)) + (max - min)), (max - min)) + min)
|
||||
|
||||
@implementation MGLClockDirectionFormatter {
|
||||
NSNumberFormatter *_numberFormatter;
|
||||
}
|
||||
|
||||
- (instancetype)init {
|
||||
if (self = [super init]) {
|
||||
_unitStyle = NSFormattingUnitStyleMedium;
|
||||
_numberFormatter = [[NSNumberFormatter alloc] init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (NSLocale *)locale {
|
||||
return _numberFormatter.locale;
|
||||
}
|
||||
|
||||
- (void)setLocale:(NSLocale *)locale {
|
||||
_numberFormatter.locale = locale;
|
||||
}
|
||||
|
||||
- (NSString *)stringFromDirection:(CLLocationDirection)direction {
|
||||
NSInteger hour = round(-wrap(-direction, -360, 0) / 360 * 12);
|
||||
NSString *format;
|
||||
NSNumberFormatterStyle style = NSNumberFormatterDecimalStyle;
|
||||
switch (self.unitStyle) {
|
||||
case NSFormattingUnitStyleShort:
|
||||
format = NSLocalizedString(@"%@:00", @"Clock position format, short style");
|
||||
break;
|
||||
|
||||
case NSFormattingUnitStyleMedium:
|
||||
format = NSLocalizedString(@"%@ o’clock", @"Clock position format, medium style");
|
||||
|
||||
break;
|
||||
|
||||
case NSFormattingUnitStyleLong:
|
||||
format = NSLocalizedString(@"%@ o’clock", @"Clock position format, long style");
|
||||
style = NSNumberFormatterSpellOutStyle;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
_numberFormatter.numberStyle = style;
|
||||
return [NSString stringWithFormat:format, [_numberFormatter stringFromNumber:@(hour)]];
|
||||
}
|
||||
|
||||
- (nullable NSString *)stringForObjectValue:(id)obj {
|
||||
if (![obj isKindOfClass:[NSValue class]]) {
|
||||
return nil;
|
||||
}
|
||||
return [self stringFromDirection:[obj doubleValue]];
|
||||
}
|
||||
|
||||
- (BOOL)getObjectValue:(out id __nullable * __nullable)obj forString:(NSString *)string errorDescription:(out NSString * __nullable * __nullable)error {
|
||||
NSAssert(NO, @"-getObjectValue:forString:errorDescription: has not been implemented");
|
||||
return NO;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,63 +1,18 @@
|
||||
#import "MGLDirectionFormatter.h"
|
||||
#import "MGLCompassDirectionFormatter.h"
|
||||
|
||||
#define wrap(value, min, max) \
|
||||
(fmod((fmod((value - min), (max - min)) + (max - min)), (max - min)) + min)
|
||||
|
||||
@implementation MGLDirectionFormatter {
|
||||
NSNumberFormatter *_numberFormatter;
|
||||
}
|
||||
@implementation MGLCompassDirectionFormatter
|
||||
|
||||
- (instancetype)init {
|
||||
if (self = [super init]) {
|
||||
_unitStyle = NSFormattingUnitStyleMedium;
|
||||
_numberFormatter = [[NSNumberFormatter alloc] init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (NSLocale *)locale {
|
||||
return _numberFormatter.locale;
|
||||
}
|
||||
|
||||
- (void)setLocale:(NSLocale *)locale {
|
||||
_numberFormatter.locale = locale;
|
||||
}
|
||||
|
||||
- (NSString *)stringFromDirection:(CLLocationDirection)direction {
|
||||
if (self.origin == MGLDirectionFormatterOriginNorth) {
|
||||
return [self stringFromAbsoluteDirection:direction];
|
||||
} else {
|
||||
return [self stringFromRelativeDirection:direction];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSString *)stringFromRelativeDirection:(CLLocationDirection)direction {
|
||||
NSInteger hour = round(-wrap(-direction, -360, 0) / 360 * 12);
|
||||
NSString *format;
|
||||
NSNumberFormatterStyle style = NSNumberFormatterDecimalStyle;
|
||||
switch (self.unitStyle) {
|
||||
case NSFormattingUnitStyleShort:
|
||||
format = NSLocalizedString(@"%@:00", @"Relative heading format, short style");
|
||||
break;
|
||||
|
||||
case NSFormattingUnitStyleMedium:
|
||||
format = NSLocalizedString(@"%@ o’clock", @"Relative heading format, medium style");
|
||||
|
||||
break;
|
||||
|
||||
case NSFormattingUnitStyleLong:
|
||||
format = NSLocalizedString(@"%@ o’clock", @"Relative heading format, long style");
|
||||
style = NSNumberFormatterSpellOutStyle;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
_numberFormatter.numberStyle = style;
|
||||
return [NSString stringWithFormat:format, [_numberFormatter stringFromNumber:@(hour)]];
|
||||
}
|
||||
|
||||
- (NSString *)stringFromAbsoluteDirection:(CLLocationDirection)direction {
|
||||
static NS_ARRAY_OF(NSString *) *shortStrings;
|
||||
static NS_ARRAY_OF(NSString *) *longStrings;
|
||||
static dispatch_once_t onceToken;
|
||||
@@ -138,7 +93,7 @@
|
||||
NSLocalizedString(@"north by west", @"North by west, long"),
|
||||
];
|
||||
|
||||
NSAssert(shortStrings.count == longStrings.count, @"Long and short direction string arrays must have the same size.");
|
||||
NSAssert(shortStrings.count == longStrings.count, @"Long and short compass direction string arrays must have the same size.");
|
||||
});
|
||||
|
||||
NSInteger cardinalPoint = round(wrap(direction, 0, 360) / 360 * shortStrings.count);
|
||||
49
platform/darwin/test/MGLClockDirectionFormatterTests.m
Normal file
49
platform/darwin/test/MGLClockDirectionFormatterTests.m
Normal file
@@ -0,0 +1,49 @@
|
||||
#import <Mapbox/Mapbox.h>
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
static NSString * const MGLTestLocaleIdentifier = @"en-US";
|
||||
|
||||
@interface MGLClockDirectionFormatterTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation MGLClockDirectionFormatterTests
|
||||
|
||||
- (void)testClockDirections {
|
||||
MGLClockDirectionFormatter *shortFormatter = [[MGLClockDirectionFormatter alloc] init];
|
||||
shortFormatter.unitStyle = NSFormattingUnitStyleShort;
|
||||
shortFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
|
||||
|
||||
MGLClockDirectionFormatter *mediumFormatter = [[MGLClockDirectionFormatter alloc] init];
|
||||
mediumFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
|
||||
|
||||
MGLClockDirectionFormatter *longFormatter = [[MGLClockDirectionFormatter alloc] init];
|
||||
longFormatter.unitStyle = NSFormattingUnitStyleLong;
|
||||
longFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
|
||||
|
||||
XCTAssertEqualObjects(@"9:00", [shortFormatter stringFromDirection:-90]);
|
||||
XCTAssertEqualObjects(@"9 o’clock", [mediumFormatter stringFromDirection:-90]);
|
||||
XCTAssertEqualObjects(@"nine o’clock", [longFormatter stringFromDirection:-90]);
|
||||
|
||||
XCTAssertEqualObjects(@"12:00", [shortFormatter stringFromDirection:0]);
|
||||
XCTAssertEqualObjects(@"12 o’clock", [mediumFormatter stringFromDirection:0]);
|
||||
XCTAssertEqualObjects(@"twelve o’clock", [longFormatter stringFromDirection:0]);
|
||||
|
||||
XCTAssertEqualObjects(@"2:00", [shortFormatter stringFromDirection:45]);
|
||||
XCTAssertEqualObjects(@"2 o’clock", [mediumFormatter stringFromDirection:45]);
|
||||
XCTAssertEqualObjects(@"two o’clock", [longFormatter stringFromDirection:45]);
|
||||
|
||||
XCTAssertEqualObjects(@"3:00", [shortFormatter stringFromDirection:90]);
|
||||
XCTAssertEqualObjects(@"3 o’clock", [mediumFormatter stringFromDirection:90]);
|
||||
XCTAssertEqualObjects(@"three o’clock", [longFormatter stringFromDirection:90]);
|
||||
|
||||
XCTAssertEqualObjects(@"6:00", [shortFormatter stringFromDirection:180]);
|
||||
XCTAssertEqualObjects(@"6 o’clock", [mediumFormatter stringFromDirection:180]);
|
||||
XCTAssertEqualObjects(@"six o’clock", [longFormatter stringFromDirection:180]);
|
||||
|
||||
XCTAssertEqualObjects(@"9:00", [shortFormatter stringFromDirection:270]);
|
||||
XCTAssertEqualObjects(@"9 o’clock", [mediumFormatter stringFromDirection:270]);
|
||||
XCTAssertEqualObjects(@"nine o’clock", [longFormatter stringFromDirection:270]);
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -1,27 +1,21 @@
|
||||
#import <Mapbox/Mapbox.h>
|
||||
#import <XCTest/XCTest.h>
|
||||
|
||||
static NSString * const MGLTestLocaleIdentifier = @"en-US";
|
||||
|
||||
@interface MGLDirectionFormatterTests : XCTestCase
|
||||
@interface MGLCompassDirectionFormatterTests : XCTestCase
|
||||
|
||||
@end
|
||||
|
||||
@implementation MGLDirectionFormatterTests
|
||||
@implementation MGLCompassDirectionFormatterTests
|
||||
|
||||
- (void)testAbsoluteDirections {
|
||||
MGLDirectionFormatter *shortFormatter = [[MGLDirectionFormatter alloc] init];
|
||||
XCTAssertEqual(shortFormatter.origin, MGLDirectionFormatterOriginNorth, @"Reference point should be north by default.");
|
||||
- (void)testCompassDirections {
|
||||
MGLCompassDirectionFormatter *shortFormatter = [[MGLCompassDirectionFormatter alloc] init];
|
||||
shortFormatter.unitStyle = NSFormattingUnitStyleShort;
|
||||
shortFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
|
||||
|
||||
MGLDirectionFormatter *mediumFormatter = [[MGLDirectionFormatter alloc] init];
|
||||
MGLCompassDirectionFormatter *mediumFormatter = [[MGLCompassDirectionFormatter alloc] init];
|
||||
XCTAssertEqual(mediumFormatter.unitStyle, NSFormattingUnitStyleMedium, @"Unit style should be medium by default.");
|
||||
mediumFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
|
||||
|
||||
MGLDirectionFormatter *longFormatter = [[MGLDirectionFormatter alloc] init];
|
||||
MGLCompassDirectionFormatter *longFormatter = [[MGLCompassDirectionFormatter alloc] init];
|
||||
longFormatter.unitStyle = NSFormattingUnitStyleLong;
|
||||
longFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
|
||||
|
||||
XCTAssertEqualObjects(@"NW", [shortFormatter stringFromDirection:-45]);
|
||||
XCTAssertEqualObjects(@"northwest", [mediumFormatter stringFromDirection:-45]);
|
||||
@@ -68,44 +62,4 @@ static NSString * const MGLTestLocaleIdentifier = @"en-US";
|
||||
XCTAssertEqualObjects([mediumFormatter stringFromDirection:720], [longFormatter stringFromDirection:720]);
|
||||
}
|
||||
|
||||
- (void)testRelativeDirections {
|
||||
MGLDirectionFormatter *shortFormatter = [[MGLDirectionFormatter alloc] init];
|
||||
shortFormatter.origin = MGLDirectionFormatterOriginStraightAhead;
|
||||
shortFormatter.unitStyle = NSFormattingUnitStyleShort;
|
||||
shortFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
|
||||
|
||||
MGLDirectionFormatter *mediumFormatter = [[MGLDirectionFormatter alloc] init];
|
||||
mediumFormatter.origin = MGLDirectionFormatterOriginStraightAhead;
|
||||
mediumFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
|
||||
|
||||
MGLDirectionFormatter *longFormatter = [[MGLDirectionFormatter alloc] init];
|
||||
longFormatter.origin = MGLDirectionFormatterOriginStraightAhead;
|
||||
longFormatter.unitStyle = NSFormattingUnitStyleLong;
|
||||
longFormatter.locale = [NSLocale localeWithLocaleIdentifier:MGLTestLocaleIdentifier];
|
||||
|
||||
XCTAssertEqualObjects(@"9:00", [shortFormatter stringFromDirection:-90]);
|
||||
XCTAssertEqualObjects(@"9 o’clock", [mediumFormatter stringFromDirection:-90]);
|
||||
XCTAssertEqualObjects(@"nine o’clock", [longFormatter stringFromDirection:-90]);
|
||||
|
||||
XCTAssertEqualObjects(@"12:00", [shortFormatter stringFromDirection:0]);
|
||||
XCTAssertEqualObjects(@"12 o’clock", [mediumFormatter stringFromDirection:0]);
|
||||
XCTAssertEqualObjects(@"twelve o’clock", [longFormatter stringFromDirection:0]);
|
||||
|
||||
XCTAssertEqualObjects(@"2:00", [shortFormatter stringFromDirection:45]);
|
||||
XCTAssertEqualObjects(@"2 o’clock", [mediumFormatter stringFromDirection:45]);
|
||||
XCTAssertEqualObjects(@"two o’clock", [longFormatter stringFromDirection:45]);
|
||||
|
||||
XCTAssertEqualObjects(@"3:00", [shortFormatter stringFromDirection:90]);
|
||||
XCTAssertEqualObjects(@"3 o’clock", [mediumFormatter stringFromDirection:90]);
|
||||
XCTAssertEqualObjects(@"three o’clock", [longFormatter stringFromDirection:90]);
|
||||
|
||||
XCTAssertEqualObjects(@"6:00", [shortFormatter stringFromDirection:180]);
|
||||
XCTAssertEqualObjects(@"6 o’clock", [mediumFormatter stringFromDirection:180]);
|
||||
XCTAssertEqualObjects(@"six o’clock", [longFormatter stringFromDirection:180]);
|
||||
|
||||
XCTAssertEqualObjects(@"9:00", [shortFormatter stringFromDirection:270]);
|
||||
XCTAssertEqualObjects(@"9 o’clock", [mediumFormatter stringFromDirection:270]);
|
||||
XCTAssertEqualObjects(@"nine o’clock", [longFormatter stringFromDirection:270]);
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -10,8 +10,9 @@ FOUNDATION_EXPORT const unsigned char MapboxVersionString[];
|
||||
#import "MGLAnnotation.h"
|
||||
#import "MGLAnnotationImage.h"
|
||||
#import "MGLCalloutView.h"
|
||||
#import "MGLClockDirectionFormatter.h"
|
||||
#import "MGLCompassDirectionFormatter.h"
|
||||
#import "MGLCoordinateFormatter.h"
|
||||
#import "MGLDirectionFormatter.h"
|
||||
#import "MGLMapCamera.h"
|
||||
#import "MGLGeometry.h"
|
||||
#import "MGLMapView.h"
|
||||
|
||||
@@ -33,10 +33,16 @@
|
||||
DA35A2A11CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */; };
|
||||
DA35A2A21CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */; };
|
||||
DA35A2AA1CCA058D00E826B2 /* MGLCoordinateFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A91CCA058D00E826B2 /* MGLCoordinateFormatterTests.m */; };
|
||||
DA35A2B11CCA141D00E826B2 /* MGLDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AF1CCA141D00E826B2 /* MGLDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
DA35A2B21CCA141D00E826B2 /* MGLDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AF1CCA141D00E826B2 /* MGLDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
DA35A2B31CCA141D00E826B2 /* MGLDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B01CCA141D00E826B2 /* MGLDirectionFormatter.m */; };
|
||||
DA35A2B41CCA141D00E826B2 /* MGLDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B01CCA141D00E826B2 /* MGLDirectionFormatter.m */; };
|
||||
DA35A2B11CCA141D00E826B2 /* MGLCompassDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AF1CCA141D00E826B2 /* MGLCompassDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
DA35A2B21CCA141D00E826B2 /* MGLCompassDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AF1CCA141D00E826B2 /* MGLCompassDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
DA35A2B31CCA141D00E826B2 /* MGLCompassDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */; };
|
||||
DA35A2B41CCA141D00E826B2 /* MGLCompassDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */; };
|
||||
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 */; };
|
||||
DA4A26941CB6E337000B7809 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DA1DC9561CB6C1C2006E619F /* Main.storyboard */; };
|
||||
DA4A26951CB6E337000B7809 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DA1DC95B1CB6C1C2006E619F /* LaunchScreen.storyboard */; };
|
||||
DA8847D91CBAF91600AB86E3 /* Mapbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA8847D21CBAF91600AB86E3 /* Mapbox.framework */; };
|
||||
@@ -281,8 +287,12 @@
|
||||
DA35A29D1CC9E94C00E826B2 /* MGLCoordinateFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLCoordinateFormatter.h; path = include/MGLCoordinateFormatter.h; sourceTree = "<group>"; };
|
||||
DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCoordinateFormatter.m; path = src/MGLCoordinateFormatter.m; sourceTree = "<group>"; };
|
||||
DA35A2A91CCA058D00E826B2 /* MGLCoordinateFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCoordinateFormatterTests.m; path = ../../darwin/test/MGLCoordinateFormatterTests.m; sourceTree = "<group>"; };
|
||||
DA35A2AF1CCA141D00E826B2 /* MGLDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLDirectionFormatter.h; path = include/MGLDirectionFormatter.h; sourceTree = "<group>"; };
|
||||
DA35A2B01CCA141D00E826B2 /* MGLDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLDirectionFormatter.m; path = src/MGLDirectionFormatter.m; sourceTree = "<group>"; };
|
||||
DA35A2AF1CCA141D00E826B2 /* MGLCompassDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLCompassDirectionFormatter.h; path = include/MGLCompassDirectionFormatter.h; sourceTree = "<group>"; };
|
||||
DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCompassDirectionFormatter.m; path = src/MGLCompassDirectionFormatter.m; sourceTree = "<group>"; };
|
||||
DA35A2B71CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLClockDirectionFormatter.m; path = src/MGLClockDirectionFormatter.m; sourceTree = "<group>"; };
|
||||
DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLClockDirectionFormatter.h; path = include/MGLClockDirectionFormatter.h; sourceTree = "<group>"; };
|
||||
DA35A2C31CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLClockDirectionFormatterTests.m; path = ../../darwin/test/MGLClockDirectionFormatterTests.m; sourceTree = "<group>"; };
|
||||
DA35A2C41CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCompassDirectionFormatterTests.m; path = ../../darwin/test/MGLCompassDirectionFormatterTests.m; sourceTree = "<group>"; };
|
||||
DA4A26961CB6E795000B7809 /* Mapbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Mapbox.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DA8847D21CBAF91600AB86E3 /* Mapbox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Mapbox.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DA8847D61CBAF91600AB86E3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
@@ -517,6 +527,8 @@
|
||||
DA2E88521CC036F400F24E7B /* SDK Tests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DA35A2C31CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m */,
|
||||
DA35A2C41CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m */,
|
||||
DA35A2A91CCA058D00E826B2 /* MGLCoordinateFormatterTests.m */,
|
||||
DA2E885C1CC0382C00F24E7B /* MGLGeometryTests.mm */,
|
||||
DA2E885D1CC0382C00F24E7B /* MGLOfflinePackTests.m */,
|
||||
@@ -549,10 +561,12 @@
|
||||
DA8847FF1CBAFA6200AB86E3 /* MGLAccountManager_Private.h */,
|
||||
DA8848001CBAFA6200AB86E3 /* MGLAccountManager.m */,
|
||||
DA8847E01CBAFA5100AB86E3 /* MGLAnnotation.h */,
|
||||
DA35A2BA1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h */,
|
||||
DA35A2B71CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m */,
|
||||
DA35A2AF1CCA141D00E826B2 /* MGLCompassDirectionFormatter.h */,
|
||||
DA35A2B01CCA141D00E826B2 /* MGLCompassDirectionFormatter.m */,
|
||||
DA35A29D1CC9E94C00E826B2 /* MGLCoordinateFormatter.h */,
|
||||
DA35A2A01CC9E95F00E826B2 /* MGLCoordinateFormatter.m */,
|
||||
DA35A2AF1CCA141D00E826B2 /* MGLDirectionFormatter.h */,
|
||||
DA35A2B01CCA141D00E826B2 /* MGLDirectionFormatter.m */,
|
||||
DA8847E11CBAFA5100AB86E3 /* MGLGeometry.h */,
|
||||
DA8848011CBAFA6200AB86E3 /* MGLGeometry_Private.h */,
|
||||
DA8848021CBAFA6200AB86E3 /* MGLGeometry.mm */,
|
||||
@@ -735,6 +749,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DA88483A1CBAFB8500AB86E3 /* MGLAnnotationImage.h in Headers */,
|
||||
DA35A2BB1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */,
|
||||
DA8848861CBB033F00AB86E3 /* Fabric+FABKits.h in Headers */,
|
||||
DA8848201CBAFA6200AB86E3 /* MGLOfflinePack_Private.h in Headers */,
|
||||
DA8847FA1CBAFA5100AB86E3 /* MGLPolyline.h in Headers */,
|
||||
@@ -762,7 +777,7 @@
|
||||
DA88481E1CBAFA6200AB86E3 /* MGLMultiPoint_Private.h in Headers */,
|
||||
DA35A29E1CC9E94C00E826B2 /* MGLCoordinateFormatter.h in Headers */,
|
||||
DA8847F71CBAFA5100AB86E3 /* MGLOverlay.h in Headers */,
|
||||
DA35A2B11CCA141D00E826B2 /* MGLDirectionFormatter.h in Headers */,
|
||||
DA35A2B11CCA141D00E826B2 /* MGLCompassDirectionFormatter.h in Headers */,
|
||||
DA88488B1CBB037E00AB86E3 /* SMCalloutView.h in Headers */,
|
||||
DA8847FE1CBAFA5100AB86E3 /* MGLTypes.h in Headers */,
|
||||
DA8847F11CBAFA5100AB86E3 /* MGLGeometry.h in Headers */,
|
||||
@@ -808,11 +823,12 @@
|
||||
DABFB8681CBE99E500D62B32 /* MGLPolyline.h in Headers */,
|
||||
DABFB86F1CBE9A0F00D62B32 /* MGLMapView.h in Headers */,
|
||||
DABFB8631CBE99E500D62B32 /* MGLOfflineRegion.h in Headers */,
|
||||
DA35A2B21CCA141D00E826B2 /* MGLDirectionFormatter.h in Headers */,
|
||||
DA35A2B21CCA141D00E826B2 /* MGLCompassDirectionFormatter.h in Headers */,
|
||||
DABFB8731CBE9A9900D62B32 /* Mapbox.h in Headers */,
|
||||
DABFB86B1CBE99E500D62B32 /* MGLTilePyramidOfflineRegion.h in Headers */,
|
||||
DABFB85F1CBE99E500D62B32 /* MGLGeometry.h in Headers */,
|
||||
DABFB85D1CBE99E500D62B32 /* MGLAccountManager.h in Headers */,
|
||||
DA35A2BC1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */,
|
||||
DABFB86E1CBE9A0F00D62B32 /* MGLCalloutView.h in Headers */,
|
||||
DABFB8601CBE99E500D62B32 /* MGLMapCamera.h in Headers */,
|
||||
DABFB86A1CBE99E500D62B32 /* MGLStyle.h in Headers */,
|
||||
@@ -1041,6 +1057,8 @@
|
||||
DA2E88651CC0382C00F24E7B /* MGLStyleTests.mm in Sources */,
|
||||
DA2E88611CC0382C00F24E7B /* MGLGeometryTests.mm in Sources */,
|
||||
DA2E88641CC0382C00F24E7B /* MGLOfflineStorageTests.m in Sources */,
|
||||
DA35A2C61CCA9F8300E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */,
|
||||
DA35A2C51CCA9F8300E826B2 /* MGLClockDirectionFormatterTests.m in Sources */,
|
||||
DA2E88621CC0382C00F24E7B /* MGLOfflinePackTests.m in Sources */,
|
||||
DA35A2AA1CCA058D00E826B2 /* MGLCoordinateFormatterTests.m in Sources */,
|
||||
);
|
||||
@@ -1056,12 +1074,13 @@
|
||||
DA88482D1CBAFA6200AB86E3 /* NSBundle+MGLAdditions.m in Sources */,
|
||||
DA88485B1CBAFB9800AB86E3 /* MGLUserLocation.m in Sources */,
|
||||
DA88488C1CBB037E00AB86E3 /* SMCalloutView.m in Sources */,
|
||||
DA35A2B81CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m in Sources */,
|
||||
DA8848901CBB048E00AB86E3 /* reachability.m in Sources */,
|
||||
DA8848211CBAFA6200AB86E3 /* MGLOfflinePack.mm in Sources */,
|
||||
DA8848591CBAFB9800AB86E3 /* MGLMapView.mm in Sources */,
|
||||
DA8848501CBAFB9800AB86E3 /* MGLAnnotationImage.m in Sources */,
|
||||
DA8848281CBAFA6200AB86E3 /* MGLShape.m in Sources */,
|
||||
DA35A2B31CCA141D00E826B2 /* MGLDirectionFormatter.m in Sources */,
|
||||
DA35A2B31CCA141D00E826B2 /* MGLCompassDirectionFormatter.m in Sources */,
|
||||
DA8848321CBAFA6200AB86E3 /* NSString+MGLAdditions.m in Sources */,
|
||||
DA35A2A11CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */,
|
||||
DA8848291CBAFA6200AB86E3 /* MGLStyle.mm in Sources */,
|
||||
@@ -1091,12 +1110,13 @@
|
||||
DAA4E4201CBB730400178DFB /* MGLOfflinePack.mm in Sources */,
|
||||
DAA4E4331CBB730400178DFB /* MGLUserLocation.m in Sources */,
|
||||
DAA4E4351CBB730400178DFB /* SMCalloutView.m in Sources */,
|
||||
DA35A2B91CCA9A5D00E826B2 /* MGLClockDirectionFormatter.m in Sources */,
|
||||
DAA4E4251CBB730400178DFB /* MGLShape.m in Sources */,
|
||||
DAA4E42B1CBB730400178DFB /* NSString+MGLAdditions.m in Sources */,
|
||||
DAA4E4261CBB730400178DFB /* MGLStyle.mm in Sources */,
|
||||
DAA4E41D1CBB730400178DFB /* MGLGeometry.mm in Sources */,
|
||||
DAA4E41F1CBB730400178DFB /* MGLMultiPoint.mm in Sources */,
|
||||
DA35A2B41CCA141D00E826B2 /* MGLDirectionFormatter.m in Sources */,
|
||||
DA35A2B41CCA141D00E826B2 /* MGLCompassDirectionFormatter.m in Sources */,
|
||||
DAA4E4281CBB730400178DFB /* MGLTypes.m in Sources */,
|
||||
DA35A2A21CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */,
|
||||
DAA4E42D1CBB730400178DFB /* MGLAnnotationImage.m in Sources */,
|
||||
|
||||
@@ -11,9 +11,12 @@
|
||||
DA35A2A41CC9EB1A00E826B2 /* MGLCoordinateFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2A31CC9EB1A00E826B2 /* MGLCoordinateFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
DA35A2A61CC9EB2700E826B2 /* MGLCoordinateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A51CC9EB2700E826B2 /* MGLCoordinateFormatter.m */; };
|
||||
DA35A2A81CC9F41600E826B2 /* MGLCoordinateFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2A71CC9F41600E826B2 /* MGLCoordinateFormatterTests.m */; };
|
||||
DA35A2AD1CCA091800E826B2 /* MGLDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AB1CCA091800E826B2 /* MGLDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
DA35A2AE1CCA091800E826B2 /* MGLDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2AC1CCA091800E826B2 /* MGLDirectionFormatter.m */; };
|
||||
DA35A2B61CCA14D700E826B2 /* MGLDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B51CCA14D700E826B2 /* MGLDirectionFormatterTests.m */; };
|
||||
DA35A2AD1CCA091800E826B2 /* MGLCompassDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2AB1CCA091800E826B2 /* MGLCompassDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
DA35A2AE1CCA091800E826B2 /* MGLCompassDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2AC1CCA091800E826B2 /* MGLCompassDirectionFormatter.m */; };
|
||||
DA35A2B61CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2B51CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m */; };
|
||||
DA35A2BF1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = DA35A2BD1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
DA35A2C01CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2BE1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m */; };
|
||||
DA35A2C21CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = DA35A2C11CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m */; };
|
||||
DA839E971CC2E3400062CAFB /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DA839E961CC2E3400062CAFB /* AppDelegate.m */; };
|
||||
DA839E9A1CC2E3400062CAFB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DA839E991CC2E3400062CAFB /* main.m */; };
|
||||
DA839E9D1CC2E3400062CAFB /* MapDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = DA839E9C1CC2E3400062CAFB /* MapDocument.m */; };
|
||||
@@ -142,9 +145,12 @@
|
||||
DA35A2A31CC9EB1A00E826B2 /* MGLCoordinateFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLCoordinateFormatter.h; path = include/MGLCoordinateFormatter.h; sourceTree = "<group>"; };
|
||||
DA35A2A51CC9EB2700E826B2 /* MGLCoordinateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCoordinateFormatter.m; path = src/MGLCoordinateFormatter.m; sourceTree = "<group>"; };
|
||||
DA35A2A71CC9F41600E826B2 /* MGLCoordinateFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCoordinateFormatterTests.m; path = ../../darwin/test/MGLCoordinateFormatterTests.m; sourceTree = "<group>"; };
|
||||
DA35A2AB1CCA091800E826B2 /* MGLDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLDirectionFormatter.h; path = include/MGLDirectionFormatter.h; sourceTree = "<group>"; };
|
||||
DA35A2AC1CCA091800E826B2 /* MGLDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLDirectionFormatter.m; path = src/MGLDirectionFormatter.m; sourceTree = "<group>"; };
|
||||
DA35A2B51CCA14D700E826B2 /* MGLDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLDirectionFormatterTests.m; path = ../../darwin/test/MGLDirectionFormatterTests.m; sourceTree = "<group>"; };
|
||||
DA35A2AB1CCA091800E826B2 /* MGLCompassDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLCompassDirectionFormatter.h; path = include/MGLCompassDirectionFormatter.h; sourceTree = "<group>"; };
|
||||
DA35A2AC1CCA091800E826B2 /* MGLCompassDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCompassDirectionFormatter.m; path = src/MGLCompassDirectionFormatter.m; sourceTree = "<group>"; };
|
||||
DA35A2B51CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLCompassDirectionFormatterTests.m; path = ../../darwin/test/MGLCompassDirectionFormatterTests.m; sourceTree = "<group>"; };
|
||||
DA35A2BD1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MGLClockDirectionFormatter.h; path = include/MGLClockDirectionFormatter.h; sourceTree = "<group>"; };
|
||||
DA35A2BE1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLClockDirectionFormatter.m; path = src/MGLClockDirectionFormatter.m; sourceTree = "<group>"; };
|
||||
DA35A2C11CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLClockDirectionFormatterTests.m; path = ../../darwin/test/MGLClockDirectionFormatterTests.m; sourceTree = "<group>"; };
|
||||
DA839E921CC2E3400062CAFB /* Mapbox GL.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Mapbox GL.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
DA839E951CC2E3400062CAFB /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||
DA839E961CC2E3400062CAFB /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||
@@ -357,8 +363,9 @@
|
||||
DAE6C3371CC30DB200DB3429 /* SDK Tests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
DA35A2C11CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m */,
|
||||
DA35A2B51CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m */,
|
||||
DA35A2A71CC9F41600E826B2 /* MGLCoordinateFormatterTests.m */,
|
||||
DA35A2B51CCA14D700E826B2 /* MGLDirectionFormatterTests.m */,
|
||||
DAE6C3C81CC34BD800DB3429 /* MGLGeometryTests.mm */,
|
||||
DAE6C3C91CC34BD800DB3429 /* MGLOfflinePackTests.m */,
|
||||
DAE6C3CA1CC34BD800DB3429 /* MGLOfflineRegionTests.m */,
|
||||
@@ -377,10 +384,12 @@
|
||||
DAE6C36A1CC31E2A00DB3429 /* MGLAccountManager_Private.h */,
|
||||
DAE6C36B1CC31E2A00DB3429 /* MGLAccountManager.m */,
|
||||
DAE6C34B1CC31E0400DB3429 /* MGLAnnotation.h */,
|
||||
DA35A2BD1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h */,
|
||||
DA35A2BE1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m */,
|
||||
DA35A2AB1CCA091800E826B2 /* MGLCompassDirectionFormatter.h */,
|
||||
DA35A2AC1CCA091800E826B2 /* MGLCompassDirectionFormatter.m */,
|
||||
DA35A2A31CC9EB1A00E826B2 /* MGLCoordinateFormatter.h */,
|
||||
DA35A2A51CC9EB2700E826B2 /* MGLCoordinateFormatter.m */,
|
||||
DA35A2AB1CCA091800E826B2 /* MGLDirectionFormatter.h */,
|
||||
DA35A2AC1CCA091800E826B2 /* MGLDirectionFormatter.m */,
|
||||
DAE6C34C1CC31E0400DB3429 /* MGLGeometry.h */,
|
||||
DAE6C36C1CC31E2A00DB3429 /* MGLGeometry_Private.h */,
|
||||
DAE6C36D1CC31E2A00DB3429 /* MGLGeometry.mm */,
|
||||
@@ -488,6 +497,7 @@
|
||||
DAE6C3661CC31E0400DB3429 /* MGLShape.h in Headers */,
|
||||
DAE6C3C21CC31F4500DB3429 /* Mapbox.h in Headers */,
|
||||
DAE6C3641CC31E0400DB3429 /* MGLPolygon.h in Headers */,
|
||||
DA35A2BF1CCA9B1A00E826B2 /* MGLClockDirectionFormatter.h in Headers */,
|
||||
DA35A2A41CC9EB1A00E826B2 /* MGLCoordinateFormatter.h in Headers */,
|
||||
DAE6C3621CC31E0400DB3429 /* MGLOverlay.h in Headers */,
|
||||
DAE6C3651CC31E0400DB3429 /* MGLPolyline.h in Headers */,
|
||||
@@ -504,7 +514,7 @@
|
||||
DAE6C3B91CC31EF300DB3429 /* MGLOpenGLLayer.h in Headers */,
|
||||
DAE6C3891CC31E2A00DB3429 /* MGLMultiPoint_Private.h in Headers */,
|
||||
DAE6C3A51CC31E9400DB3429 /* MGLMapView+IBAdditions.h in Headers */,
|
||||
DA35A2AD1CCA091800E826B2 /* MGLDirectionFormatter.h in Headers */,
|
||||
DA35A2AD1CCA091800E826B2 /* MGLCompassDirectionFormatter.h in Headers */,
|
||||
DAE6C3671CC31E0400DB3429 /* MGLStyle.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -670,6 +680,7 @@
|
||||
DAE6C3941CC31E2A00DB3429 /* MGLStyle.mm in Sources */,
|
||||
DAE6C3871CC31E2A00DB3429 /* MGLGeometry.mm in Sources */,
|
||||
DAE6C3B81CC31EF300DB3429 /* MGLMapView+IBAdditions.m in Sources */,
|
||||
DA35A2C01CCA9B1A00E826B2 /* MGLClockDirectionFormatter.m in Sources */,
|
||||
DAE6C3BA1CC31EF300DB3429 /* MGLOpenGLLayer.mm in Sources */,
|
||||
DAE6C38A1CC31E2A00DB3429 /* MGLMultiPoint.mm in Sources */,
|
||||
DAE6C3961CC31E2A00DB3429 /* MGLTypes.m in Sources */,
|
||||
@@ -682,7 +693,7 @@
|
||||
DAE6C3851CC31E2A00DB3429 /* MGLAccountManager.m in Sources */,
|
||||
DAE6C3921CC31E2A00DB3429 /* MGLPolyline.mm in Sources */,
|
||||
DAE6C3B51CC31EF300DB3429 /* MGLCompassCell.m in Sources */,
|
||||
DA35A2AE1CCA091800E826B2 /* MGLDirectionFormatter.m in Sources */,
|
||||
DA35A2AE1CCA091800E826B2 /* MGLCompassDirectionFormatter.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -690,9 +701,10 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
DA35A2C21CCA9F4A00E826B2 /* MGLClockDirectionFormatterTests.m in Sources */,
|
||||
DAE6C3D41CC34C9900DB3429 /* MGLOfflineRegionTests.m in Sources */,
|
||||
DAE6C3D61CC34C9900DB3429 /* MGLStyleTests.mm in Sources */,
|
||||
DA35A2B61CCA14D700E826B2 /* MGLDirectionFormatterTests.m in Sources */,
|
||||
DA35A2B61CCA14D700E826B2 /* MGLCompassDirectionFormatterTests.m in Sources */,
|
||||
DAE6C3D21CC34C9900DB3429 /* MGLGeometryTests.mm in Sources */,
|
||||
DAE6C3D51CC34C9900DB3429 /* MGLOfflineStorageTests.m in Sources */,
|
||||
DAE6C3D31CC34C9900DB3429 /* MGLOfflinePackTests.m in Sources */,
|
||||
|
||||
@@ -9,7 +9,8 @@ FOUNDATION_EXPORT const unsigned char MapboxVersionString[];
|
||||
#import <Mapbox/MGLAccountManager.h>
|
||||
#import <Mapbox/MGLAnnotation.h>
|
||||
#import <Mapbox/MGLAnnotationImage.h>
|
||||
#import <Mapbox/MGLDirectionFormatter.h>
|
||||
#import <Mapbox/MGLClockDirectionFormatter.h>
|
||||
#import <Mapbox/MGLCompassDirectionFormatter.h>
|
||||
#import <Mapbox/MGLCoordinateFormatter.h>
|
||||
#import <Mapbox/MGLGeometry.h>
|
||||
#import <Mapbox/MGLMapCamera.h>
|
||||
|
||||
Reference in New Issue
Block a user