diff --git a/Dependencies/GoogleMaps.framework/Versions/A/GoogleMaps b/Dependencies/GoogleMaps.framework/Versions/A/GoogleMaps old mode 100644 new mode 100755 index b39df80..bfacd44 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/GoogleMaps and b/Dependencies/GoogleMaps.framework/Versions/A/GoogleMaps differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAddress.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAddress.h old mode 100644 new mode 100755 index e9b1a87..5d178b0 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAddress.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAddress.h @@ -10,7 +10,14 @@ #import -#import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif +#import + +GMS_ASSUME_NONNULL_BEGIN /** * A result from a reverse geocode request, containing a human-readable address. This class is @@ -24,25 +31,25 @@ @property(nonatomic, readonly) CLLocationCoordinate2D coordinate; /** Street number and name. */ -@property(nonatomic, copy, readonly) NSString *thoroughfare; +@property(nonatomic, copy, readonly) NSString *GMS_NULLABLE_PTR thoroughfare; /** Locality or city. */ -@property(nonatomic, copy, readonly) NSString *locality; +@property(nonatomic, copy, readonly) NSString *GMS_NULLABLE_PTR locality; /** Subdivision of locality, district or park. */ -@property(nonatomic, copy, readonly) NSString *subLocality; +@property(nonatomic, copy, readonly) NSString *GMS_NULLABLE_PTR subLocality; /** Region/State/Administrative area. */ -@property(nonatomic, copy, readonly) NSString *administrativeArea; +@property(nonatomic, copy, readonly) NSString *GMS_NULLABLE_PTR administrativeArea; /** Postal/Zip code. */ -@property(nonatomic, copy, readonly) NSString *postalCode; +@property(nonatomic, copy, readonly) NSString *GMS_NULLABLE_PTR postalCode; /** The country name. */ -@property(nonatomic, copy, readonly) NSString *country; +@property(nonatomic, copy, readonly) NSString *GMS_NULLABLE_PTR country; /** An array of NSString containing formatted lines of the address. May be nil. */ -@property(nonatomic, copy, readonly) NSArray *lines; +@property(nonatomic, copy, readonly) GMS_NSArrayOf(NSString *) *GMS_NULLABLE_PTR lines; /** * Returns the first line of the address. @@ -50,7 +57,7 @@ * This method is obsolete and deprecated and will be removed in a future release. * Use the lines property instead. */ -- (NSString *)addressLine1 __GMS_AVAILABLE_BUT_DEPRECATED; +- (NSString *GMS_NULLABLE_PTR)addressLine1 __GMS_AVAILABLE_BUT_DEPRECATED; /** * Returns the second line of the address. @@ -58,7 +65,7 @@ * This method is obsolete and deprecated and will be removed in a future release. * Use the lines property instead. */ -- (NSString *)addressLine2 __GMS_AVAILABLE_BUT_DEPRECATED; +- (NSString *GMS_NULLABLE_PTR)addressLine2 __GMS_AVAILABLE_BUT_DEPRECATED; @end @@ -67,3 +74,5 @@ * removed in future releases. */ @compatibility_alias GMSReverseGeocodeResult GMSAddress; + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAutocompleteFilter.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAutocompleteFilter.h deleted file mode 100644 index 080ad00..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAutocompleteFilter.h +++ /dev/null @@ -1,62 +0,0 @@ -// -// GMSAutocompleteFilter.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - -/** - * The type filters that may be applied to an autocomplete request to restrict results to different - * types. - */ -typedef NS_ENUM(NSInteger, GMSPlacesAutocompleteTypeFilter) { - /** - * All results. - */ - kGMSPlacesAutocompleteTypeFilterNoFilter, - /** - * Geeocoding results, as opposed to business results. - */ - kGMSPlacesAutocompleteTypeFilterGeocode, - /** - * Geocoding results with a precise address. - */ - kGMSPlacesAutocompleteTypeFilterAddress, - /** - * Business results. - */ - kGMSPlacesAutocompleteTypeFilterEstablishment, - /** - * Results that match the following types: - * "locality", - * "sublocality" - * "postal_code", - * "country", - * "administrative_area_level_1", - * "administrative_area_level_2" - */ - kGMSPlacesAutocompleteTypeFilterRegion, - /** - * Results that match the following types: - * "locality", - * "administrative_area_level_3" - */ - kGMSPlacesAutocompleteTypeFilterCity, -}; - -/** - * This class represents a set of restrictions that may be applied to autocomplete requests. This - * allows customization of autocomplete suggestions to only those places that are of interest. - */ -@interface GMSAutocompleteFilter : NSObject - -/** - * The type filter applied to an autocomplete request to restrict results to different types. - * Default value is kGMSPlacesAutocompleteTypeFilterNoFilter. - */ -@property(nonatomic, assign) GMSPlacesAutocompleteTypeFilter type; - -@end diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAutocompleteMatchFragment.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAutocompleteMatchFragment.h deleted file mode 100644 index 5eb36cf..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAutocompleteMatchFragment.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// GMSAutocompleteMatchFragment.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - - -/** - * This class represents a matched fragment of a string. This is a contiguous range of characters - * in a string, suitable for highlighting in an autocompletion UI. - */ -@interface GMSAutocompleteMatchFragment : NSObject - -/** - * The offset of the matched fragment. This is an index into a string. The character at this index - * is the first matched character. - */ -@property(nonatomic, readonly) NSUInteger offset; - -/** - * The length of the matched fragment. - */ -@property(nonatomic, readonly) NSUInteger length; - -@end diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAutocompletePrediction.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAutocompletePrediction.h deleted file mode 100644 index 7ea0dbe..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSAutocompletePrediction.h +++ /dev/null @@ -1,59 +0,0 @@ -// -// GMSAutocompletePrediction.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - - -/* - * Attribute name for match fragments in |GMSAutocompletePrediction| attributedFullText. - */ -extern NSString *const kGMSAutocompleteMatchAttribute; - -/** - * This class represents a prediction of a full query based on a partially typed string. - */ -@interface GMSAutocompletePrediction : NSObject - -/** - * The full description of the prediction as a NSAttributedString. E.g., "Sydney Opera House, - * Sydney, New South Wales, Australia". - * - * Every text range that matches the user input has a |kGMSAutocompleteMatchAttribute|. For - * example, you can make every match bold using enumerateAttribute: - *
- *   UIFont *regularFont = [UIFont systemFontOfSize:[UIFont labelFontSize]];
- *   UIFont *boldFont = [UIFont boldSystemFontOfSize:[UIFont labelFontSize]];
- *
- *   NSMutableAttributedString *bolded = [prediction.attributedFullText mutableCopy];
- *   [bolded enumerateAttribute:kGMSAutocompleteMatchAttribute
- *                      inRange:NSMakeRange(0, bolded.length)
- *                      options:0
- *                   usingBlock:^(id value, NSRange range, BOOL *stop) {
- *                     UIFont *font = (value == nil) ? regularFont : boldFont;
- *                     [bolded addAttribute:NSFontAttributeName value:font range:range];
- *                   }];
- *
- *   label.attributedText = bolded;
- * 
- */ -@property(nonatomic, copy, readonly) NSAttributedString *attributedFullText; - - -/** - * An optional property representing the place ID of the prediction, suitable for use in a place - * details request. - */ -@property(nonatomic, copy, readonly) NSString *placeID; - -/** - * The types of this autocomplete result. Types are NSStrings, valid values are any types - * documented at . - */ -@property(nonatomic, copy, readonly) NSArray *types; - -@end diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCALayer.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCALayer.h old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCameraPosition.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCameraPosition.h old mode 100644 new mode 100755 index 8ecdeae..be088ca --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCameraPosition.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCameraPosition.h @@ -10,10 +10,18 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** * An immutable class that aggregates all camera position parameters. */ -@interface GMSCameraPosition : NSObject +@interface GMSCameraPosition : NSObject /** * Location on the Earth towards which the camera points. @@ -33,8 +41,11 @@ @property(nonatomic, readonly) CLLocationDirection bearing; /** - * The angle, in degrees, of the camera angle from the nadir (directly facing the Earth). 0 is - * straight down, 90 is parallel to the ground. Note that the maximum angle allowed is 45 degrees. + * The angle, in degrees, of the camera from the nadir (directly facing the Earth). 0 is + * straight down, 90 is parallel to the ground. Note that the maximum angle allowed is dependent + * on the zoom. You can think of it as a series of line segments as a function of zoom, rather + * than a step function. For zoom 16 and above, the maximum angle is 65 degrees. For zoom 10 and + * below, the maximum angle is 30 degrees. */ @property(nonatomic, readonly) double viewingAngle; @@ -43,10 +54,11 @@ * Building a GMSCameraPosition via this initializer (or by the following convenience constructors) * will implicitly clamp camera values. * - * @param target location on the earth which the camera points - * @param zoom the zoom level near the center of the screen - * @param bearing of the camera in degrees from true north - * @param viewingAngle in degrees, of the camera angle from the nadir + * @param target Location on the earth towards which the camera points. + * @param zoom The zoom level near the center of the screen. + * @param bearing Bearing of the camera in degrees clockwise from true north. + * @param viewingAngle The angle, in degrees, of the camera angle from the nadir (directly facing + * the Earth) */ - (id)initWithTarget:(CLLocationCoordinate2D)target zoom:(float)zoom @@ -115,3 +127,5 @@ FOUNDATION_EXTERN const float kGMSMaxZoomLevel; /** The minimum zoom (farthest from the Earth's surface) permitted by the map camera. */ FOUNDATION_EXTERN const float kGMSMinZoomLevel; + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCameraUpdate.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCameraUpdate.h old mode 100644 new mode 100755 index 7145ff1..d1ec13a --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCameraUpdate.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCameraUpdate.h @@ -11,9 +11,17 @@ #import #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + @class GMSCameraPosition; @class GMSCoordinateBounds; +GMS_ASSUME_NONNULL_BEGIN + /** * GMSCameraUpdate represents an update that may be applied to a GMSMapView. * It encapsulates some logic for modifying the current camera. @@ -104,3 +112,4 @@ @end +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCircle.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCircle.h old mode 100644 new mode 100755 index b67e3bd..37ae9cc --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCircle.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCircle.h @@ -12,6 +12,14 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** * A circle on the Earth's surface (spherical cap). */ @@ -31,13 +39,13 @@ @property(nonatomic, assign) CGFloat strokeWidth; /** The color of this circle's outline. The default value is black. */ -@property(nonatomic, strong) UIColor *strokeColor; +@property(nonatomic, strong) UIColor *GMS_NULLABLE_PTR strokeColor; /** * The interior of the circle is painted with fillColor. * The default value is nil, resulting in no fill. */ -@property(nonatomic, strong) UIColor *fillColor; +@property(nonatomic, strong) UIColor *GMS_NULLABLE_PTR fillColor; /** * Convenience constructor for GMSCircle for a particular position and radius. @@ -47,3 +55,5 @@ radius:(CLLocationDistance)radius; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCoordinateBounds+GoogleMaps.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCoordinateBounds+GoogleMaps.h new file mode 100755 index 0000000..01b29ef --- /dev/null +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCoordinateBounds+GoogleMaps.h @@ -0,0 +1,44 @@ +// +// GMSCoordinateBounds+GoogleMaps.h +// Google Maps SDK for iOS +// +// Copyright 2013 Google Inc. +// +// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of +// Service: https://developers.google.com/maps/terms +// + + +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +#import + +@class GMSPath; + +GMS_ASSUME_NONNULL_BEGIN + +@interface GMSCoordinateBounds (GoogleMaps) + +/** + * Inits with bounds that encompass |region|. + */ +- (id)initWithRegion:(GMSVisibleRegion)region; + +/** + * Inits with bounds that encompass |path|. + */ +- (id)initWithPath:(GMSPath *)path; + +/** + * Returns a GMSCoordinateBounds representing the current bounds extended to + * include |path|. + */ +- (GMSCoordinateBounds *)includingPath:(GMSPath *)path; + +@end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSDeprecationMacros.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSDeprecationMacros.h new file mode 100755 index 0000000..837dd16 --- /dev/null +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSDeprecationMacros.h @@ -0,0 +1,18 @@ +// +// GMSDeprecationMacros.h +// Google Maps SDK for iOS +// +// Copyright 2015 Google Inc. +// +// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of +// Service: https://developers.google.com/maps/terms +// + +#ifndef IPHONE_MAPS_SDK_MAPS_GMSDEPRECATIONMACROS_H_ +#define IPHONE_MAPS_SDK_MAPS_GMSDEPRECATIONMACROS_H_ + +#ifndef __GMS_AVAILABLE_BUT_DEPRECATED +#define __GMS_AVAILABLE_BUT_DEPRECATED __deprecated +#endif + +#endif diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGeocoder.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGeocoder.h old mode 100644 new mode 100755 index 6f3574b..089b6ee --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGeocoder.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGeocoder.h @@ -10,8 +10,15 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif #import +GMS_ASSUME_NONNULL_BEGIN + @class GMSReverseGeocodeResponse; /** GMSGeocoder error codes, embedded in NSError. */ @@ -21,7 +28,8 @@ typedef NS_ENUM(NSInteger, GMSGeocoderErrorCode) { }; /** Handler that reports a reverse geocoding response, or error. */ -typedef void (^GMSReverseGeocodeCallback)(GMSReverseGeocodeResponse *, NSError *); +typedef void (^GMSReverseGeocodeCallback)(GMSReverseGeocodeResponse *GMS_NULLABLE_PTR, + NSError *GMS_NULLABLE_PTR); /** * Exposes a service for reverse geocoding. This maps Earth coordinates (latitude and longitude) to @@ -48,9 +56,11 @@ typedef void (^GMSReverseGeocodeCallback)(GMSReverseGeocodeResponse *, NSError * @interface GMSReverseGeocodeResponse : NSObject /** Returns the first result, or nil if no results were available. */ -- (GMSAddress *)firstResult; +- (GMSAddress *GMS_NULLABLE_PTR)firstResult; /** Returns an array of all the results (contains GMSAddress), including the first result. */ -- (NSArray *)results; +- (GMS_NSArrayOf(GMSAddress *) * GMS_NULLABLE_PTR)results; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGeometryUtils.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGeometryUtils.h old mode 100644 new mode 100755 index a50d6f6..9ffcf94 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGeometryUtils.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGeometryUtils.h @@ -15,9 +15,18 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif #import @class GMSPath; +@class GMSStrokeStyle; +@class GMSStyleSpan; + +GMS_ASSUME_NONNULL_BEGIN /** Average Earth radius in meters. */ static const CLLocationDistance kGMSEarthRadius = 6371009.0; @@ -61,7 +70,7 @@ FOUNDATION_EXPORT double GMSMapPointDistance(GMSMapPoint a, GMSMapPoint b); /** - * Returns whether |point| lies inside of path. The path is always cosidered + * Returns whether |point| lies inside of path. The path is always considered * closed, regardless of whether the last point equals the first or not. * Inside is defined as not containing the South Pole -- the South Pole is * always outside. @@ -204,7 +213,10 @@ CLLocationCoordinate2D GMSGeometryInterpolate(CLLocationCoordinate2D from, * */ FOUNDATION_EXPORT -NSArray *GMSStyleSpans(GMSPath *path, NSArray *styles, NSArray *lengths, GMSLengthKind lengthKind); +GMS_NSArrayOf(GMSStyleSpan *) *GMSStyleSpans(GMSPath *path, + GMS_NSArrayOf(GMSStrokeStyle *) *styles, + GMS_NSArrayOf(NSNumber *) *lengths, + GMSLengthKind lengthKind); /** * Similar to GMSStyleSpans(path, styles, lengths, lengthKind) but additionally takes an initial @@ -213,10 +225,12 @@ NSArray *GMSStyleSpans(GMSPath *path, NSArray *styles, NSArray *lengths, GMSLeng * |lengthOffset| the length (e.g. in meters) that should be skipped initially from |lengths|. */ FOUNDATION_EXPORT -NSArray *GMSStyleSpansOffset(GMSPath *path, - NSArray *styles, - NSArray *lengths, - GMSLengthKind lengthKind, - double lengthOffset); +GMS_NSArrayOf(GMSStyleSpan *) *GMSStyleSpansOffset(GMSPath *path, + GMS_NSArrayOf(GMSStrokeStyle *) *styles, + GMS_NSArrayOf(NSNumber *) *lengths, + GMSLengthKind lengthKind, + double lengthOffset); /**@}*/ + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGroundOverlay.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGroundOverlay.h old mode 100644 new mode 100755 index de88e0a..efbd6df --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGroundOverlay.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSGroundOverlay.h @@ -10,8 +10,16 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + @class GMSCoordinateBounds; +GMS_ASSUME_NONNULL_BEGIN + /** * GMSGroundOverlay specifies the available options for a ground overlay that * exists on the Earth's surface. Unlike a marker, the position of a ground @@ -37,7 +45,13 @@ * Icon to render within |bounds| on the Earth. If this is nil, the overlay will * not be visible (unlike GMSMarker which has a default image). */ -@property(nonatomic, strong) UIImage *icon; +@property(nonatomic, strong) UIImage *GMS_NULLABLE_PTR icon; + +/** + * Sets the opacity of the ground overlay, between 0 (completely transparent) + * and 1 (default) inclusive. + */ +@property(nonatomic, assign) float opacity; /** * Bearing of this ground overlay, in degrees. The default value, zero, points @@ -49,21 +63,21 @@ * The 2D bounds on the Earth in which |icon| is drawn. Changing this value * will adjust |position| accordingly. */ -@property(nonatomic, strong) GMSCoordinateBounds *bounds; +@property(nonatomic, strong) GMSCoordinateBounds *GMS_NULLABLE_PTR bounds; /** * Convenience constructor for GMSGroundOverlay for a particular |bounds| and * |icon|. Will set |position| accordingly. */ -+ (instancetype)groundOverlayWithBounds:(GMSCoordinateBounds *)bounds - icon:(UIImage *)icon; ++ (instancetype)groundOverlayWithBounds:(GMSCoordinateBounds *GMS_NULLABLE_PTR)bounds + icon:(UIImage *GMS_NULLABLE_PTR)icon; /** * Constructs a GMSGroundOverlay that renders the given |icon| at |position|, * as if the image's actual size matches camera pixels at |zoomLevel|. */ + (instancetype)groundOverlayWithPosition:(CLLocationCoordinate2D)position - icon:(UIImage *)icon + icon:(UIImage *GMS_NULLABLE_PTR)icon zoomLevel:(CGFloat)zoomLevel; @end @@ -73,3 +87,5 @@ * point of the icon. */ FOUNDATION_EXTERN const CGPoint kGMSGroundOverlayDefaultAnchor; + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorBuilding.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorBuilding.h old mode 100644 new mode 100755 index c217483..fe1b55a --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorBuilding.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorBuilding.h @@ -11,6 +11,16 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + +@class GMSIndoorLevel; + /** * Describes a building which contains levels. */ @@ -20,7 +30,7 @@ * Array of GMSIndoorLevel describing the levels which make up the building. * The levels are in 'display order' from top to bottom. */ -@property(nonatomic, strong, readonly) NSArray *levels; +@property(nonatomic, strong, readonly) GMS_NSArrayOf(GMSIndoorLevel *) * levels; /** * Index in the levels array of the default level. @@ -33,3 +43,5 @@ @property(nonatomic, assign, readonly, getter=isUnderground) BOOL underground; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorDisplay.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorDisplay.h old mode 100644 new mode 100755 index 0094cf4..870e94a --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorDisplay.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorDisplay.h @@ -10,11 +10,19 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + @class GMSIndoorBuilding; @class GMSIndoorLevel; +GMS_ASSUME_NONNULL_BEGIN + /** Delegate for events on GMSIndoorDisplay. */ -@protocol GMSIndoorDisplayDelegate +@protocol GMSIndoorDisplayDelegate @optional /** @@ -22,13 +30,13 @@ * already been updated for the new building, but didChangeActiveLevel: will * be raised after this method. */ -- (void)didChangeActiveBuilding:(GMSIndoorBuilding *)building; +- (void)didChangeActiveBuilding:(GMSIndoorBuilding *GMS_NULLABLE_PTR)building; /** * Raised when the activeLevel has changed. This event is raised for all * changes, including explicit setting of the property. */ -- (void)didChangeActiveLevel:(GMSIndoorLevel *)level; +- (void)didChangeActiveLevel:(GMSIndoorLevel *GMS_NULLABLE_PTR)level; @end @@ -40,13 +48,13 @@ @interface GMSIndoorDisplay : NSObject /** GMSIndoorDisplay delegate */ -@property(nonatomic, weak) id delegate; +@property(nonatomic, weak) id GMS_NULLABLE_PTR delegate; /** * Provides the currently focused building, will be nil if there is no * building with indoor data currently under focus. */ -@property(nonatomic, strong, readonly) GMSIndoorBuilding *activeBuilding; +@property(nonatomic, strong, readonly) GMSIndoorBuilding *GMS_NULLABLE_PTR activeBuilding; /** * Provides and controls the active level for activeBuilding. Will be updated @@ -56,6 +64,8 @@ * Will always be nil if activeBuilding is nil. * Any attempt to set it to an invalid value will be ignored. */ -@property(nonatomic, strong) GMSIndoorLevel *activeLevel; +@property(nonatomic, strong) GMSIndoorLevel *GMS_NULLABLE_PTR activeLevel; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorLevel.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorLevel.h old mode 100644 new mode 100755 index 3fb3d21..1ecd377 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorLevel.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSIndoorLevel.h @@ -11,6 +11,14 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** * Describes a single level in a building. * Multiple buildings can share a level - in this case the level instances will @@ -19,9 +27,11 @@ @interface GMSIndoorLevel : NSObject /** Localized display name for the level, e.g. "Ground floor". */ -@property(nonatomic, copy, readonly) NSString *name; +@property(nonatomic, copy, readonly) NSString *GMS_NULLABLE_PTR name; /** Localized short display name for the level, e.g. "1". */ -@property(nonatomic, copy, readonly) NSString *shortName; +@property(nonatomic, copy, readonly) NSString *GMS_NULLABLE_PTR shortName; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapLayer.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapLayer.h old mode 100644 new mode 100755 index 6c8388b..3bc878f --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapLayer.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapLayer.h @@ -13,6 +13,14 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** * The following layer properties and constants describe the camera properties * that may be animated on the custom model layer of a GMSMapView with Core @@ -94,3 +102,5 @@ extern NSString *const kGMSLayerCameraViewingAngleKey; @property(nonatomic, assign) float cameraZoomLevel; @property(nonatomic, assign) double cameraViewingAngle; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapStyle.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapStyle.h new file mode 100755 index 0000000..8f75ae1 --- /dev/null +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapStyle.h @@ -0,0 +1,54 @@ +// +// GMSMapStyle.h +// Google Maps SDK for iOS +// +// Copyright 2016 Google Inc. +// +// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of +// Service: https://developers.google.com/maps/terms +// + +#import + +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + +/** + * GMSMapStyle holds details about a style which can be applied to a map. + * + * With style options you can customize the presentation of the standard Google map styles, changing + * the visual display of features like roads, parks, and other points of interest. As well as + * changing the style of these features, you can also hide features entirely. This means that you + * can emphasize particular components of the map or make the map complement the content of your + * app. + * + * For more information see: https://developers.google.com/maps/documentation/ios-sdk/styling + */ +@interface GMSMapStyle : NSObject + +/** + * Creates a style using a string containing JSON. + * + * Returns nil and populates |error| (if provided) if |style| is invalid. + */ ++ (GMS_NULLABLE_INSTANCETYPE)styleWithJSONString:(NSString *)style + error:(NSError *__autoreleasing GMS_NULLABLE_PTR *)error; + +/** + * Creates a style using a file containing JSON. + * + * Returns nil and populates |error| (if provided) if |style| is invalid, the file cannot be read, + * or the URL is not a file URL. + */ ++ (GMS_NULLABLE_INSTANCETYPE) + styleWithContentsOfFileURL:(NSURL *)fileURL + error:(NSError *__autoreleasing GMS_NULLABLE_PTR *)error; + +@end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapView+Animation.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapView+Animation.h old mode 100644 new mode 100755 index 7dd2fef..d8b518d --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapView+Animation.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapView+Animation.h @@ -10,6 +10,14 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** * GMSMapView (Animation) offers several animation helper methods. * @@ -55,3 +63,5 @@ - (void)animateWithCameraUpdate:(GMSCameraUpdate *)cameraUpdate; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapView.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapView.h old mode 100644 new mode 100755 index f58023e..e75fba6 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapView.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMapView.h @@ -11,25 +11,30 @@ #import #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif +#import #import #import -#ifndef __GMS_AVAILABLE_BUT_DEPRECATED -#define __GMS_AVAILABLE_BUT_DEPRECATED __deprecated -#endif - @class GMSCameraPosition; @class GMSCameraUpdate; @class GMSCoordinateBounds; @class GMSIndoorDisplay; @class GMSMapLayer; +@class GMSMapStyle; @class GMSMapView; @class GMSMarker; @class GMSOverlay; @class GMSProjection; +GMS_ASSUME_NONNULL_BEGIN + /** Delegate for events on GMSMapView. */ -@protocol GMSMapViewDelegate +@protocol GMSMapViewDelegate @optional @@ -48,38 +53,34 @@ * camera positions. It is always called for the final position of an animation * or gesture. */ -- (void)mapView:(GMSMapView *)mapView - didChangeCameraPosition:(GMSCameraPosition *)position; +- (void)mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position; /** * Called when the map becomes idle, after any outstanding gestures or * animations have completed (or after the camera has been explicitly set). */ -- (void)mapView:(GMSMapView *)mapView - idleAtCameraPosition:(GMSCameraPosition *)position; +- (void)mapView:(GMSMapView *)mapView idleAtCameraPosition:(GMSCameraPosition *)position; /** * Called after a tap gesture at a particular coordinate, but only if a marker * was not tapped. This is called before deselecting any currently selected * marker (the implicit action for tapping on the map). */ -- (void)mapView:(GMSMapView *)mapView - didTapAtCoordinate:(CLLocationCoordinate2D)coordinate; +- (void)mapView:(GMSMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate; /** * Called after a long-press gesture at a particular coordinate. * - * @param mapView The map view that was pressed. - * @param coordinate The location that was pressed. + * @param mapView The map view that was tapped. + * @param coordinate The location that was tapped. */ -- (void)mapView:(GMSMapView *)mapView - didLongPressAtCoordinate:(CLLocationCoordinate2D)coordinate; +- (void)mapView:(GMSMapView *)mapView didLongPressAtCoordinate:(CLLocationCoordinate2D)coordinate; /** * Called after a marker has been tapped. * - * @param mapView The map view that was pressed. - * @param marker The marker that was pressed. + * @param mapView The map view that was tapped. + * @param marker The marker that was tapped. * @return YES if this delegate handled the tap event, which prevents the map * from performing its default selection behavior, and NO if the map * should continue with its default selection behavior. @@ -89,18 +90,35 @@ /** * Called after a marker's info window has been tapped. */ -- (void)mapView:(GMSMapView *)mapView - didTapInfoWindowOfMarker:(GMSMarker *)marker; +- (void)mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker:(GMSMarker *)marker; + +/** + * Called after a marker's info window has been long pressed. + */ +- (void)mapView:(GMSMapView *)mapView didLongPressInfoWindowOfMarker:(GMSMarker *)marker; /** * Called after an overlay has been tapped. * This method is not called for taps on markers. * - * @param mapView The map view that was pressed. - * @param overlay The overlay that was pressed. + * @param mapView The map view that was tapped. + * @param overlay The overlay that was tapped. */ - (void)mapView:(GMSMapView *)mapView didTapOverlay:(GMSOverlay *)overlay; +/** + * Called after a POI has been tapped. + * + * @param mapView The map view that was tapped. + * @param placeID The placeID of the POI that was tapped. + * @param name The name of the POI that was tapped. + * @param location The location of the POI that was tapped. + */ +- (void)mapView:(GMSMapView *)mapView + didTapPOIWithPlaceID:(NSString *)placeID + name:(NSString *)name + location:(CLLocationCoordinate2D)location; + /** * Called when a marker is about to become selected, and provides an optional * custom info window to use for that marker if this method returns a UIView. @@ -116,7 +134,7 @@ * * @return The custom info window for the specified marker, or nil for default */ -- (UIView *)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker; +- (UIView *GMS_NULLABLE_PTR)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker; /** * Called when mapView:markerInfoWindow: returns nil. If this method returns a @@ -125,11 +143,16 @@ * * @param mapView The map view that was pressed. * @param marker The marker that was pressed. - * @return The custom view to disaply as contents in the info window, or null to + * @return The custom view to display as contents in the info window, or nil to * use the default content rendering instead */ -- (UIView *)mapView:(GMSMapView *)mapView markerInfoContents:(GMSMarker *)marker; +- (UIView *GMS_NULLABLE_PTR)mapView:(GMSMapView *)mapView markerInfoContents:(GMSMarker *)marker; + +/** + * Called when the marker's info window is closed. + */ +- (void)mapView:(GMSMapView *)mapView didCloseInfoWindowOfMarker:(GMSMarker *)marker; /** * Called when dragging has been initiated on a marker. @@ -155,6 +178,22 @@ */ - (BOOL)didTapMyLocationButtonForMapView:(GMSMapView *)mapView; +/** + * Called when tiles have just been requested or labels have just started rendering. + */ +- (void)mapViewDidStartTileRendering:(GMSMapView *)mapView; + +/** + * Called when all tiles have been loaded (or failed permanently) and labels have been rendered. + */ +- (void)mapViewDidFinishTileRendering:(GMSMapView *)mapView; + +/** + * Called when map is stable (tiles loaded, labels rendered, camera idle) and overlay objects have + * been rendered. + */ +- (void)mapViewSnapshotReady:(GMSMapView *)mapView; + @end /** @@ -178,6 +217,26 @@ typedef enum { } GMSMapViewType; +/** + * Rendering frame rates for GMSMapView. + */ +typedef enum { + /** Use the minimum frame rate to conserve battery usage. */ + kGMSFrameRatePowerSave, + + /** + * Use a median frame rate to provide smoother rendering and conserve processing cycles. + */ + kGMSFrameRateConservative, + + /** + * Use the maximum frame rate for a device. For low end devices this will be 30 FPS, + * for high end devices 60 FPS. + */ + kGMSFrameRateMaximum, + +} GMSFrameRate; + /** * This is the main class of the Google Maps SDK for iOS and is the entry point * for all methods related to the map. @@ -194,7 +253,7 @@ typedef enum { @interface GMSMapView : UIView /** GMSMapView delegate. */ -@property(nonatomic, weak) IBOutlet id delegate; +@property(nonatomic, weak) IBOutlet id GMS_NULLABLE_PTR delegate; /** * Controls the camera, which defines how the map is oriented. Modification of @@ -224,7 +283,7 @@ typedef enum { * drawn. If it is disabled, or it is enabled but no location data is available, * this will be nil. This property is observable using KVO. */ -@property(nonatomic, strong, readonly) CLLocation *myLocation; +@property(nonatomic, strong, readonly) CLLocation *GMS_NULLABLE_PTR myLocation; /** * The marker that is selected. Setting this property selects a particular @@ -232,7 +291,7 @@ typedef enum { * it to nil deselects the marker, hiding the info window. This property is * observable using KVO. */ -@property(nonatomic, strong) GMSMarker *selectedMarker; +@property(nonatomic, strong) GMSMarker *GMS_NULLABLE_PTR selectedMarker; /** * Controls whether the map is drawing traffic data, if available. This is @@ -246,6 +305,13 @@ typedef enum { */ @property(nonatomic, assign) GMSMapViewType mapType; +/** + * Controls the style of the map. + * + * A non-nil mapStyle will only apply if mapType is Normal. + */ +@property(nonatomic, strong, nullable) GMSMapStyle *mapStyle; + /** * Minimum zoom (the farthest the camera may be zoomed out). Defaults to * kGMSMinZoomLevel. Modified with -setMinZoom:maxZoom:. @@ -289,7 +355,7 @@ typedef enum { /** * Controls the 'visible' region of the view. By applying padding an area - * arround the edge of the view can be created which will contain map data + * around the edge of the view can be created which will contain map data * but will not contain UI controls. * * If the padding is not balanced, the visual center of the view will move as @@ -316,6 +382,12 @@ typedef enum { */ @property(nonatomic, readonly, retain) GMSMapLayer *layer; +/** + * Controls the rendering frame rate. + * Default value is kGMSFrameRateMaximum. + */ +@property(nonatomic, assign) GMSFrameRate preferredFrameRate; + /** * Builds and returns a GMSMapView, with a frame and camera target. */ @@ -354,10 +426,10 @@ typedef enum { * will have a zero bearing and tilt (i.e., facing north and looking directly at * the Earth). This takes the frame and padding of this GMSMapView into account. * - * If the bounds is nil or invalid this method will return a nil camera. + * If the bounds is invalid this method will return a nil camera. */ -- (GMSCameraPosition *)cameraForBounds:(GMSCoordinateBounds *)bounds - insets:(UIEdgeInsets)insets; +- (GMSCameraPosition *GMS_NULLABLE_PTR)cameraForBounds:(GMSCoordinateBounds *)bounds + insets:(UIEdgeInsets)insets; /** * Changes the camera according to |update|. @@ -365,6 +437,13 @@ typedef enum { */ - (void)moveCamera:(GMSCameraUpdate *)update; +/** + * Check whether the given camera positions would practically cause the camera to be rendered the + * same, taking into account the level of precision and transformations used internally. + */ +- (BOOL)areEqualForRenderingPosition:(GMSCameraPosition *)position + position:(GMSCameraPosition *)otherPosition; + @end /** @@ -376,3 +455,5 @@ extern NSString *const kGMSAccessibilityCompass; * Accessibility identifier for the "my location" button. */ extern NSString *const kGMSAccessibilityMyLocation; + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMarker.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMarker.h old mode 100644 new mode 100755 index aaf0f99..ebf67ab --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMarker.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMarker.h @@ -10,10 +10,18 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + @class GMSMarkerLayer; @class GMSPanoramaView; @class UIImage; +GMS_ASSUME_NONNULL_BEGIN + /** * Animation types for GMSMarker. */ @@ -37,7 +45,7 @@ typedef enum { @property(nonatomic, assign) CLLocationCoordinate2D position; /** Snippet text, shown beneath the title in the info window when selected. */ -@property(nonatomic, copy) NSString *snippet; +@property(nonatomic, copy) NSString *GMS_NULLABLE_PTR snippet; /** * Marker icon to render. If left nil, uses a default SDK place marker. @@ -49,7 +57,38 @@ typedef enum { * also redefines how anchors are specified. For an animated image the * value for the animation is used, not the individual frames. */ -@property(nonatomic, strong) UIImage *icon; +@property(nonatomic, strong) UIImage *GMS_NULLABLE_PTR icon; + +/** + * Marker view to render. If left nil, falls back to the |icon| property instead. + * + * Supports animation of all animatable properties of UIView, except |frame| and |center|. Changing + * these properties or their corresponding CALayer version, including |position|, is not supported. + * + * Note that the view behaves as if |clipsToBounds| is set to YES, regardless of its actual + * value. + */ +@property(nonatomic, strong) UIView *GMS_NULLABLE_PTR iconView; + +/** + * Controls whether the icon for this marker should be redrawn every frame. + * + * Note that when this changes from NO to YES, the icon is guaranteed to be redrawn next frame. + * + * Defaults to YES. + * Has no effect if |iconView| is nil. + */ +@property(nonatomic, assign) BOOL tracksViewChanges; + +/** + * Controls whether the info window for this marker should be redrawn every frame. + * + * Note that when this changes from NO to YES, the info window is guaranteed to be redrawn next + * frame. + * + * Defaults to NO. + */ +@property(nonatomic, assign) BOOL tracksInfoWindowChanges; /** * The ground anchor specifies the point in the icon image that is anchored to @@ -112,7 +151,7 @@ typedef enum { * objects, otherwise a loop may be created (preventing ARC from releasing * objects). */ -@property(nonatomic, strong) id userData; +@property(nonatomic, strong) id GMS_NULLABLE_PTR userData; /** * Provides the Core Animation layer for this GMSMarker. @@ -128,13 +167,13 @@ typedef enum { * is attached to. * A marker can be shown on both a panorama and a map at the same time. */ -@property(nonatomic, weak) GMSPanoramaView *panoramaView; +@property(nonatomic, weak) GMSPanoramaView *GMS_NULLABLE_PTR panoramaView; /** Convenience constructor for a default marker. */ + (instancetype)markerWithPosition:(CLLocationCoordinate2D)position; /** Creates a tinted version of the default marker image for use as an icon. */ -+ (UIImage *)markerImageWithColor:(UIColor *)color; ++ (UIImage *)markerImageWithColor:(UIColor *GMS_NULLABLE_PTR)color; @end @@ -149,3 +188,5 @@ FOUNDATION_EXTERN const CGPoint kGMSMarkerDefaultGroundAnchor; * point of the marker icon. */ FOUNDATION_EXTERN const CGPoint kGMSMarkerDefaultInfoWindowAnchor; + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMarkerLayer.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMarkerLayer.h old mode 100644 new mode 100755 index 91347b2..9f41e2b --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMarkerLayer.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMarkerLayer.h @@ -11,6 +11,14 @@ #import #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** * GMSMarkerLayer is a custom subclass of CALayer, available on a per-marker * basis, that allows animation of several properties of its associated @@ -40,3 +48,5 @@ extern NSString *const kGMSMarkerLayerLatitude; extern NSString *const kGMSMarkerLayerLongitude; extern NSString *const kGMSMarkerLayerRotation; extern NSString *const kGMSMarkerLayerOpacity; + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMutablePath.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSMutablePath.h old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSOrientation.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSOrientation.h old mode 100644 new mode 100755 index 9a975c4..c30342d --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSOrientation.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSOrientation.h @@ -30,7 +30,7 @@ extern "C" { #endif /** Returns a GMSOrientation with the given |heading| and |pitch|. */ -inline GMSOrientation GMSOrientationMake(CLLocationDirection heading, double pitch) { +inline static GMSOrientation GMSOrientationMake(CLLocationDirection heading, double pitch) { GMSOrientation orientation = {heading, pitch}; return orientation; } diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSOverlay.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSOverlay.h old mode 100644 new mode 100755 index a404868..6603ea2 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSOverlay.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSOverlay.h @@ -10,6 +10,14 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + @class GMSMapView; /** @@ -28,14 +36,14 @@ * will display the title on the map. The title is also the default * accessibility text. */ -@property(nonatomic, copy) NSString *title; +@property(nonatomic, copy) NSString *GMS_NULLABLE_PTR title; /** * The map this overlay is on. Setting this property will add the overlay to the * map. Setting it to nil removes this overlay from the map. An overlay may be * active on at most one map at any given time. */ -@property(nonatomic, weak) GMSMapView *map; +@property(nonatomic, weak) GMSMapView *GMS_NULLABLE_PTR map; /** * If this overlay should cause tap notifications. Some overlays, such as @@ -54,3 +62,5 @@ @property(nonatomic, assign) int zIndex; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanorama.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanorama.h old mode 100644 new mode 100755 index 25a4e90..3f90436 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanorama.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanorama.h @@ -10,6 +10,16 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + +@class GMSPanoramaLink; + /** * GMSPanorama represents metadata for a specific panorama on the Earth. This class is not * instantiable directly and is obtained via GMSPanoramaService or GMSPanoramaView. @@ -23,6 +33,8 @@ @property(nonatomic, copy, readonly) NSString *panoramaID; /** An array of GMSPanoramaLink describing the neighboring panoramas. */ -@property(nonatomic, copy, readonly) NSArray *links; +@property(nonatomic, copy, readonly) GMS_NSArrayOf(GMSPanoramaLink *) * links; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaCamera.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaCamera.h old mode 100644 new mode 100755 index bf02be4..bc33f94 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaCamera.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaCamera.h @@ -10,8 +10,15 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif #import +GMS_ASSUME_NONNULL_BEGIN + /** * GMSPanoramaCamera is used to control the viewing direction of a GMSPanoramaView. It does not * contain information about which particular panorama should be displayed. @@ -75,3 +82,5 @@ @property(nonatomic, assign, readonly) GMSOrientation orientation; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaCameraUpdate.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaCameraUpdate.h old mode 100644 new mode 100755 index e97aabd..7188f9d --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaCameraUpdate.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaCameraUpdate.h @@ -8,6 +8,14 @@ // Service: https://developers.google.com/maps/terms // +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + @interface GMSPanoramaCameraUpdate : NSObject /** Returns an update that increments the camera heading with |deltaHeading|. */ @@ -23,3 +31,5 @@ + (GMSPanoramaCameraUpdate *)setZoom:(CGFloat)zoom; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaLayer.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaLayer.h old mode 100644 new mode 100755 index 7dd0524..51100a2 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaLayer.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaLayer.h @@ -13,6 +13,14 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** kGMSLayerPanoramaHeadingKey ranges from [0, 360). */ extern NSString *const kGMSLayerPanoramaHeadingKey; @@ -35,3 +43,5 @@ extern NSString *const kGMSLayerPanoramaFOVKey; @property(nonatomic, assign) float cameraZoom; @property(nonatomic, assign) double cameraFOV; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaLink.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaLink.h old mode 100644 new mode 100755 index f741d0e..c48a6e8 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaLink.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaLink.h @@ -8,6 +8,14 @@ // Service: https://developers.google.com/maps/terms // +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** Links from a GMSPanorama to neighboring panoramas. */ @interface GMSPanoramaLink : NSObject @@ -21,3 +29,5 @@ @property(nonatomic, copy) NSString *panoramaID; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaService.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaService.h old mode 100644 new mode 100755 index 0d72e61..80fae9e --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaService.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaService.h @@ -10,14 +10,23 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + @class GMSPanorama; +GMS_ASSUME_NONNULL_BEGIN + /** * Callback for when a panorama metadata becomes available. * If an error occured, |panorama| is nil and |error| is not nil. * Otherwise, |panorama| is not nil and |error| is nil. */ -typedef void (^GMSPanoramaCallback)(GMSPanorama *panorama, NSError *error); +typedef void (^GMSPanoramaCallback)(GMSPanorama *GMS_NULLABLE_PTR panorama, + NSError *GMS_NULLABLE_PTR error); /** * GMSPanoramaService can be used to request panorama metadata even when a @@ -46,7 +55,8 @@ typedef void (^GMSPanoramaCallback)(GMSPanorama *panorama, NSError *error); * |callback| will be called with the result. Only panoramaIDs obtained * from the Google Maps SDK for iOS are supported. */ -- (void)requestPanoramaWithID:(NSString *)panoramaID - callback:(GMSPanoramaCallback)callback; +- (void)requestPanoramaWithID:(NSString *)panoramaID callback:(GMSPanoramaCallback)callback; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaView.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaView.h old mode 100644 new mode 100755 index cf3895d..9fad276 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaView.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPanoramaView.h @@ -10,6 +10,11 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif #import #import @@ -19,8 +24,10 @@ @class GMSPanoramaCameraUpdate; @class GMSPanoramaView; +GMS_ASSUME_NONNULL_BEGIN + /** Delegate for events on GMSPanoramaView. */ -@protocol GMSPanoramaViewDelegate +@protocol GMSPanoramaViewDelegate @optional /** @@ -38,7 +45,7 @@ * This is invoked every time the |view|.panorama property changes. */ - (void)panoramaView:(GMSPanoramaView *)view - didMoveToPanorama:(GMSPanorama *)panorama; + didMoveToPanorama:(GMSPanorama *GMS_NULLABLE_PTR)panorama; /** * Called when the panorama change was caused by invoking @@ -84,6 +91,18 @@ - (BOOL)panoramaView:(GMSPanoramaView *)panoramaView didTapMarker:(GMSMarker *)marker; +/** + * Called when the panorama tiles for the current view have just been requested + * and are beginning to load. + */ +- (void)panoramaViewDidStartRendering:(GMSPanoramaView *)panoramaView; + +/** + * Called when the panorama tiles have been loaded (or permanently failed to load) + * and rendered on screen. + */ +- (void)panoramaViewDidFinishRendering:(GMSPanoramaView *)panoramaView; + @end /** @@ -107,10 +126,10 @@ * * Can be set to nil to clear the view. */ -@property(nonatomic, strong) GMSPanorama *panorama; +@property(nonatomic, strong) GMSPanorama *GMS_NULLABLE_PTR panorama; /** GMSPanoramaView delegate. */ -@property(nonatomic, weak) IBOutlet id delegate; +@property(nonatomic, weak) IBOutlet id GMS_NULLABLE_PTR delegate; /** * Sets the preference for whether all gestures should be enabled (default) or @@ -244,5 +263,6 @@ nearCoordinate:(CLLocationCoordinate2D)coordinate radius:(NSUInteger)radius; - @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPath.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPath.h old mode 100644 new mode 100755 index 6b84012..3e77d10 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPath.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPath.h @@ -10,11 +10,19 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** * GMSPath encapsulates an immutable array of CLLocationCooordinate2D. All the coordinates of a * GMSPath must be valid. The mutable counterpart is GMSMutablePath. */ -@interface GMSPath : NSObject +@interface GMSPath : NSObject /** Convenience constructor for an empty path. */ + (instancetype)path; @@ -32,7 +40,7 @@ * Initializes a newly allocated path from |encodedPath|. This format is described at: * https://developers.google.com/maps/documentation/utilities/polylinealgorithm */ -+ (instancetype)pathFromEncodedPath:(NSString *)encodedPath; ++ (GMS_NULLABLE_INSTANCETYPE)pathFromEncodedPath:(NSString *)encodedPath; /** Returns an encoded string of the path in the format described above. */ - (NSString *)encodedPath; @@ -46,7 +54,6 @@ @end - /** * kGMSEquatorProjectedMeter may be useful when specifying lengths for segment in "projected" units. * The value of kGMSEquatorProjectedMeter, 1/(pi * EarthRadius), represents the length of one meter @@ -86,7 +93,6 @@ typedef enum { kGMSLengthProjected } GMSLengthKind; - @interface GMSPath (GMSPathLength) /** @@ -101,3 +107,5 @@ typedef enum { - (CLLocationDistance)lengthOfKind:(GMSLengthKind)kind; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlace.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlace.h deleted file mode 100644 index ca2ad4c..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlace.h +++ /dev/null @@ -1,109 +0,0 @@ -// -// GMSPlace.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - -#import - -#import - -@class GMSPlaceUserData; - - -/** Describes the current open status of a place. */ -typedef NS_ENUM(NSInteger, GMSPlacesOpenNowStatus) { - /** The place is open now. */ - kGMSPlacesOpenNowStatusYes, - /** The place is not open now. */ - kGMSPlacesOpenNowStatusNo, - /** We don't know whether the place is open now. */ - kGMSPlacesOpenNowStatusUnknown, -}; - -typedef NS_ENUM(NSInteger, GMSPlacesPriceLevel) { - kGMSPlacesPriceLevelUnknown = -1, - kGMSPlacesPriceLevelFree = 0, - kGMSPlacesPriceLevelCheap = 1, - kGMSPlacesPriceLevelMedium = 2, - kGMSPlacesPriceLevelHigh = 3, - kGMSPlacesPriceLevelExpensive = 4, -}; - -/** - * Represents a particular physical place. A GMSPlace encapsulates information about a physical - * location, including its name, location, and any other information we might have about it. This - * class is immutable. - */ -@interface GMSPlace : NSObject - -/** Name of the place. */ -@property(nonatomic, copy, readonly) NSString *name; - -/** Place ID of this place. */ -@property(nonatomic, copy, readonly) NSString *placeID; - -/** - * Location of the place. The location is not necessarily the center of the Place, or any - * particular entry or exit point, but some arbitrarily chosen point within the geographic extent of - * the Place. - */ -@property(nonatomic, readonly) CLLocationCoordinate2D coordinate; - -/** - * Represents the open now status of the place at the time that the place was created. - */ -@property(nonatomic, readonly) GMSPlacesOpenNowStatus openNowStatus; - -/** - * Phone number of this place, in international format, i.e. including the country code prefixed - * with "+". For example, Google Sydney's phone number is "+61 2 9374 4000". - */ -@property(nonatomic, copy, readonly) NSString *phoneNumber; - -/** - * Address of the place as a simple string. - */ -@property(nonatomic, copy, readonly) NSString *formattedAddress; - -/** - * Five-star rating for this place based on user reviews. - * - * Ratings range from 1.0 to 5.0. 0.0 means we have no rating for this place (e.g. because not - * enough users have reviewed this place). - */ -@property(nonatomic, readonly) float rating; - -/** - * Price level for this place, as integers from 0 to 4. - * - * e.g. A value of 4 means this place is "$$$$" (expensive). A value of 0 means free (such as a - * museum with free admission). - */ -@property(nonatomic, readonly) GMSPlacesPriceLevel priceLevel; - -/** - * The types of this place. Types are NSStrings, valid values are any types documented at - * . - */ -@property(nonatomic, copy, readonly) NSArray *types; - -/** Website for this place. */ -@property(nonatomic, copy, readonly) NSURL *website; - -/** - * The data provider attribution string for this place. - * - * These are provided as a NSAttributedString, which may contain hyperlinks to the website of each - * provider. - * - * In general, these must be shown to the user if data from this GMSPlace is shown, as described in - * the Places API Terms of Service. - */ -@property(nonatomic, copy, readonly) NSAttributedString *attributions; - -@end diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlaceLikelihood.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlaceLikelihood.h deleted file mode 100644 index e7a059a..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlaceLikelihood.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// GMSPlaceLikelihood.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - - -@class GMSPlace; - -/** - * Represents a |GMSPlace| and the relative likelihood of the place being the best match within the - * list of returned places for a single request. For more information about place likelihoods, see - * |GMSPlaceLikelihoodList|. - */ -@interface GMSPlaceLikelihood : NSObject - -/** - * The place contained in this place likelihood. - */ -@property(nonatomic, strong, readonly) GMSPlace *place; - -/** - * Returns a value from 0.0 to 1.0 indicating the confidence that the user is at this place. The - * larger the value the more confident we are of the place returned. For example, a likelihood of - * 0.75 means that the user is at least 75% likely to be at this place. - */ -@property(nonatomic, assign, readonly) double likelihood; - -- (instancetype)initWithPlace:(GMSPlace *)place likelihood:(double)likelihood; - -@end diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlaceLikelihoodList.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlaceLikelihoodList.h deleted file mode 100644 index 1baadf1..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlaceLikelihoodList.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// GMSPlaceLikelihoodList.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - -/** - * Represents a list of places with an associated likelihood for the place being the correct place. - * For example, the Places service may be uncertain what the true Place is, but think it 55% likely - * to be PlaceA, and 35% likely to be PlaceB. The corresponding likelihood list has two members, one - * with likelihood 0.55 and the other with likelihood 0.35. The likelihoods are not guaranteed to be - * correct, and in a given place likelihood list they may not sum to 1.0. - */ -@interface GMSPlaceLikelihoodList : NSObject - -/** An array of |GMSPlaceLikelihood|s containing the likelihoods in the list. */ -@property(nonatomic, copy) NSArray *likelihoods; - -/** - * The data provider attribution strings for the likelihood list. - * - * These are provided as a NSAttributedString, which may contain hyperlinks to the website of each - * provider. - * - * In general, these must be shown to the user if data from this likelihood list is shown, as - * described in the Places API Terms of Service. - */ -@property(nonatomic, copy, readonly) NSAttributedString *attributions; - -@end diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacePicker.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacePicker.h deleted file mode 100644 index 2edfb89..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacePicker.h +++ /dev/null @@ -1,72 +0,0 @@ -// -// GMSPlacePicker.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - -#import - - -/* Error domain used for Place Picker errors. */ -extern NSString * const kGMSPlacePickerErrorDomain; - -/* Error codes for |kGMSPlacePickerErrorDomain|. */ -typedef NS_ENUM(NSInteger, GMSPlacePickerErrorCode) { - /** - * Something unknown went wrong. - */ - kGMSPlacePickerUnknownError = -1, - /** - * An internal error occurred in the Places API library. - */ - kGMSPlacePickerInternalError = -2, - /** - * An invalid GMSPlacePickerConfig was used. - */ - kGMSPlacePickerInvalidConfig = -3, - /** - * Attempted to perform simultaneous place picking operations. - */ - kGMSPlacePickerOverlappingCalls = -4, -}; - -/** - * The Place Picker is a dialog that allows the user to pick a |GMSPlace| using an interactive map - * and other tools. Users can select the place they're at or nearby. - */ -@interface GMSPlacePicker : NSObject - -/** - * The configuration of the place picker, as passed in at initialization. - */ -@property(nonatomic, readonly, copy) GMSPlacePickerConfig *config; - -/** - * Initializes the place picker with a given configuration. This does not start the process of - * picking a place. - */ -- (instancetype)initWithConfig:(GMSPlacePickerConfig *)config; - -/** - * Prompt the user to pick a place. The place picker is a full-screen window that appears on - * [UIScreen mainScreen]. The place picker takes over the screen until the user cancels the - * operation or picks a place. The supplied callback will be invoked with the chosen place, or nil - * if no place was chosen. - * - * This method should be called on the main thread. The callback will also be invoked on the main - * thread. - * - * It is not possible to have multiple place picking operations active at the same time. If this is - * attempted, the second callback will be invoked with an error. - * - * A reference to the place picker must be retained for the duration of the place picking operation. - * If the retain count of the place picker object becomes 0, the picking operation will be cancelled - * and the callback will not be invoked. - */ -- (void)pickPlaceWithCallback:(GMSPlaceResultCallback)callback; - -@end diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacePickerConfig.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacePickerConfig.h deleted file mode 100644 index bf9da34..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacePickerConfig.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// GMSPlacePickerConfig.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - -#import -#import - - -/** - * Configuration object used to change the behaviour of the place picker. - */ -@interface GMSPlacePickerConfig : NSObject - -/** - * The initial viewport that the place picker map should show. If this is nil, a sensible default - * will be chosen based on the user's location. - */ -@property(nonatomic, strong, readonly) GMSCoordinateBounds *viewport; - -/** - * Initialize the configuration. - */ -- (instancetype)initWithViewport:(GMSCoordinateBounds *)viewport; - -@end diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlaceTypes.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlaceTypes.h deleted file mode 100644 index 574a715..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlaceTypes.h +++ /dev/null @@ -1,137 +0,0 @@ -// -// GMSPlaceTypes.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - - - -extern NSString *const kGMSPlaceTypeAccounting; -extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel1; -extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel2; -extern NSString *const kGMSPlaceTypeAdministrativeAreaLevel3; -extern NSString *const kGMSPlaceTypeAirport; -extern NSString *const kGMSPlaceTypeAmusementPark; -extern NSString *const kGMSPlaceTypeAquarium; -extern NSString *const kGMSPlaceTypeArtGallery; -extern NSString *const kGMSPlaceTypeAtm; -extern NSString *const kGMSPlaceTypeBakery; -extern NSString *const kGMSPlaceTypeBank; -extern NSString *const kGMSPlaceTypeBar; -extern NSString *const kGMSPlaceTypeBeautySalon; -extern NSString *const kGMSPlaceTypeBicycleStore; -extern NSString *const kGMSPlaceTypeBookStore; -extern NSString *const kGMSPlaceTypeBowlingAlley; -extern NSString *const kGMSPlaceTypeBusStation; -extern NSString *const kGMSPlaceTypeCafe; -extern NSString *const kGMSPlaceTypeCampground; -extern NSString *const kGMSPlaceTypeCarDealer; -extern NSString *const kGMSPlaceTypeCarRental; -extern NSString *const kGMSPlaceTypeCarRepair; -extern NSString *const kGMSPlaceTypeCarWash; -extern NSString *const kGMSPlaceTypeCasino; -extern NSString *const kGMSPlaceTypeCemetery; -extern NSString *const kGMSPlaceTypeChurch; -extern NSString *const kGMSPlaceTypeCityHall; -extern NSString *const kGMSPlaceTypeClothingStore; -extern NSString *const kGMSPlaceTypeColloquialArea; -extern NSString *const kGMSPlaceTypeConvenienceStore; -extern NSString *const kGMSPlaceTypeCountry; -extern NSString *const kGMSPlaceTypeCourthouse; -extern NSString *const kGMSPlaceTypeDentist; -extern NSString *const kGMSPlaceTypeDepartmentStore; -extern NSString *const kGMSPlaceTypeDoctor; -extern NSString *const kGMSPlaceTypeElectrician; -extern NSString *const kGMSPlaceTypeElectronicsStore; -extern NSString *const kGMSPlaceTypeEmbassy; -extern NSString *const kGMSPlaceTypeEstablishment; -extern NSString *const kGMSPlaceTypeFinance; -extern NSString *const kGMSPlaceTypeFireStation; -extern NSString *const kGMSPlaceTypeFloor; -extern NSString *const kGMSPlaceTypeFlorist; -extern NSString *const kGMSPlaceTypeFood; -extern NSString *const kGMSPlaceTypeFuneralHome; -extern NSString *const kGMSPlaceTypeFurnitureStore; -extern NSString *const kGMSPlaceTypeGasStation; -extern NSString *const kGMSPlaceTypeGeneralContractor; -extern NSString *const kGMSPlaceTypeGeocode; -extern NSString *const kGMSPlaceTypeGroceryOrSupermarket; -extern NSString *const kGMSPlaceTypeGym; -extern NSString *const kGMSPlaceTypeHairCare; -extern NSString *const kGMSPlaceTypeHardwareStore; -extern NSString *const kGMSPlaceTypeHealth; -extern NSString *const kGMSPlaceTypeHinduTemple; -extern NSString *const kGMSPlaceTypeHomeGoodsStore; -extern NSString *const kGMSPlaceTypeHospital; -extern NSString *const kGMSPlaceTypeInsuranceAgency; -extern NSString *const kGMSPlaceTypeIntersection; -extern NSString *const kGMSPlaceTypeJewelryStore; -extern NSString *const kGMSPlaceTypeLaundry; -extern NSString *const kGMSPlaceTypeLawyer; -extern NSString *const kGMSPlaceTypeLibrary; -extern NSString *const kGMSPlaceTypeLiquorStore; -extern NSString *const kGMSPlaceTypeLocalGovernmentOffice; -extern NSString *const kGMSPlaceTypeLocality; -extern NSString *const kGMSPlaceTypeLocksmith; -extern NSString *const kGMSPlaceTypeLodging; -extern NSString *const kGMSPlaceTypeMealDelivery; -extern NSString *const kGMSPlaceTypeMealTakeaway; -extern NSString *const kGMSPlaceTypeMosque; -extern NSString *const kGMSPlaceTypeMovieRental; -extern NSString *const kGMSPlaceTypeMovieTheater; -extern NSString *const kGMSPlaceTypeMovingCompany; -extern NSString *const kGMSPlaceTypeMuseum; -extern NSString *const kGMSPlaceTypeNaturalFeature; -extern NSString *const kGMSPlaceTypeNeighborhood; -extern NSString *const kGMSPlaceTypeNightClub; -extern NSString *const kGMSPlaceTypePainter; -extern NSString *const kGMSPlaceTypePark; -extern NSString *const kGMSPlaceTypeParking; -extern NSString *const kGMSPlaceTypePetStore; -extern NSString *const kGMSPlaceTypePharmacy; -extern NSString *const kGMSPlaceTypePhysiotherapist; -extern NSString *const kGMSPlaceTypePlaceOfWorship; -extern NSString *const kGMSPlaceTypePlumber; -extern NSString *const kGMSPlaceTypePointOfInterest; -extern NSString *const kGMSPlaceTypePolice; -extern NSString *const kGMSPlaceTypePolitical; -extern NSString *const kGMSPlaceTypePostBox; -extern NSString *const kGMSPlaceTypePostOffice; -extern NSString *const kGMSPlaceTypePostalCode; -extern NSString *const kGMSPlaceTypePostalCodePrefix; -extern NSString *const kGMSPlaceTypePostalTown; -extern NSString *const kGMSPlaceTypePremise; -extern NSString *const kGMSPlaceTypeRealEstateAgency; -extern NSString *const kGMSPlaceTypeRestaurant; -extern NSString *const kGMSPlaceTypeRoofingContractor; -extern NSString *const kGMSPlaceTypeRoom; -extern NSString *const kGMSPlaceTypeRoute; -extern NSString *const kGMSPlaceTypeRvPark; -extern NSString *const kGMSPlaceTypeSchool; -extern NSString *const kGMSPlaceTypeShoeStore; -extern NSString *const kGMSPlaceTypeShoppingMall; -extern NSString *const kGMSPlaceTypeSpa; -extern NSString *const kGMSPlaceTypeStadium; -extern NSString *const kGMSPlaceTypeStorage; -extern NSString *const kGMSPlaceTypeStore; -extern NSString *const kGMSPlaceTypeStreetAddress; -extern NSString *const kGMSPlaceTypeSublocality; -extern NSString *const kGMSPlaceTypeSublocalityLevel1; -extern NSString *const kGMSPlaceTypeSublocalityLevel2; -extern NSString *const kGMSPlaceTypeSublocalityLevel3; -extern NSString *const kGMSPlaceTypeSublocalityLevel4; -extern NSString *const kGMSPlaceTypeSublocalityLevel5; -extern NSString *const kGMSPlaceTypeSubpremise; -extern NSString *const kGMSPlaceTypeSubwayStation; -extern NSString *const kGMSPlaceTypeSynagogue; -extern NSString *const kGMSPlaceTypeTaxiStand; -extern NSString *const kGMSPlaceTypeTrainStation; -extern NSString *const kGMSPlaceTypeTransitStation; -extern NSString *const kGMSPlaceTypeTravelAgency; -extern NSString *const kGMSPlaceTypeUniversity; -extern NSString *const kGMSPlaceTypeVeterinaryCare; -extern NSString *const kGMSPlaceTypeZoo; diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacesClient.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacesClient.h deleted file mode 100644 index a7ef2ae..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacesClient.h +++ /dev/null @@ -1,192 +0,0 @@ -// -// GMSPlacesClient.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - -#import - -#import -#import -#import - - -@class GMSAutocompleteFilter; -@class GMSPlaceLikelihoodList; - -GMS_ASSUME_NONNULL_BEGIN - -/* Error domain used for Places API errors. */ -extern NSString * const kGMSPlacesErrorDomain; - -/* Error codes for |kGMSPlacesErrorDomain|. */ -typedef NS_ENUM(NSInteger, GMSPlacesErrorCode) { - /** - * Something went wrong with the connection to the Places API server. - */ - kGMSPlacesNetworkError = -1, - /** - * The Places API server returned a response that we couldn't understand. - */ - kGMSPlacesServerError = -2, - /** - * An internal error occurred in the Places API library. - */ - kGMSPlacesInternalError = -3, - /** - * Operation failed due to an invalid (malformed or missing) API key. - *

- * See the developer's guide - * for information on creating and using an API key. - */ - kGMSPlacesKeyInvalid = -4, - /** - * Operation failed due to an expired API key. - *

- * See the developer's guide - * for information on creating and using an API key. - */ - kGMSPlacesKeyExpired = -5, - /** - * Operation failed due to exceeding the quota usage limit. - *

- * See the developer's guide - * for information on usage limits and how to request a higher limit. - */ - kGMSPlacesUsageLimitExceeded = -6, - /** - * Operation failed due to exceeding the usage rate limit for the API key. - *

- * This status code shouldn't be returned during normal usage of the API. It relates to usage of - * the API that far exceeds normal request levels. - */ - kGMSPlacesRateLimitExceeded = -7, - /** - * Operation failed due to exceeding the per-device usage rate limit. - *

- * This status code shouldn't be returned during normal usage of the API. It relates to usage of - * the API that far exceeds normal request levels. - */ - kGMSPlacesDeviceRateLimitExceeded = -8, - /** - * The Places API is not enabled. - *

- * See the developer's guide for how - * to enable the Google Places API for iOS. - */ - kGMSPlacesAccessNotConfigured = -9, - /** - * The application's bundle identifier does not match one of the allowed iOS applications for the - * API key. - *

- * See the developer's guide - * for how to configure bundle restrictions on API keys. - */ - kGMSPlacesIncorrectBundleIdentifier = -10 -}; - -/** - * @relates GMSPlacesClient - * Callback type for receiving place details lookups. If an error occurred, - * |result| will be nil and |error| will contain information about the error. - * @param result The |GMSPlace| that was returned. - * @param error The error that occured, if any. - */ -typedef void (^GMSPlaceResultCallback)( - GMSPlace * GMS_NULLABLE_PTR result, - NSError * GMS_NULLABLE_PTR error); - -/** - * @relates GMSPlacesClient - * Callback type for receiving place likelihood lists. If an error occurred, |likelihoodList| will - * be nil and |error| will contain information about the error. - * @param likelihoodList The list of place likelihoods. - * @param error The error that occured, if any. - */ -typedef void (^GMSPlaceLikelihoodListCallback)( - GMSPlaceLikelihoodList * GMS_NULLABLE_PTR likelihoodList, - NSError * GMS_NULLABLE_PTR error); - -/** - * @relates GMSPlacesClient - * Callback type for receiving autocompletion results. |results| is an array of - * GMSAutocompletePredictions representing candidate completions of the query. - * @param results An array of |GMSAutocompletePrediction|s. - * @param error The error that occured, if any. - */ -typedef void (^GMSAutocompletePredictionsCallback)( - NSArray * GMS_NULLABLE_PTR results, - NSError * GMS_NULLABLE_PTR error); - -/** - * Main interface to the Places API. Used for searching and getting details about places. This class - * should be accessed through the [GMSPlacesClient sharedClient] method. - * - * GMSPlacesClient methods should only be called from the main thread. Calling these methods from - * another thread will result in an exception or undefined behavior. Unless otherwise specified, all - * callbacks will be invoked on the main thread. - */ -@interface GMSPlacesClient : NSObject - -/** - * Provides the shared instance of GMSPlacesClient for the Google Maps SDK for iOS, - * creating it if necessary. - * - * If your application often uses methods of GMSPlacesClient it may want to hold - * onto this object directly, as otherwise your connection to Google may be restarted - * on a regular basis. - */ -+ (instancetype)sharedClient; - -/** - * Report that the device is at a particular place. - */ -- (void)reportDeviceAtPlaceWithID:(NSString *)placeID; - -/** - * Get details for a place. This method is non-blocking. - * @param placeID The place ID to lookup. - * @param callback The callback to invoke with the lookup result. - */ -- (void)lookUpPlaceID:(NSString *)placeID callback:(GMSPlaceResultCallback)callback; - -/** - * Returns an estimate of the place where the device is currently known to be located. - * - * Generates a place likelihood list based on the device's last estimated location. The supplied - * callback will be invoked with this likelihood list upon success and an NSError upon an error. - * @param callback The callback to invoke with the place likelihood list. - */ -- (void)currentPlaceWithCallback:(GMSPlaceLikelihoodListCallback)callback; - -/** - * Autocompletes a given text query. Results may optionally be biased towards a certain location. - * The supplied callback will be invoked with an array of autocompletion predictions upon success - * and an NSError upon an error. - * @param query The partial text to autocomplete. - * @param bounds The bounds used to bias the results. This is not a hard restrict - places may still - * be returned outside of these bounds. This parameter may be nil. - * @param filter The filter to apply to the results. This parameter may be nil. - * @param callback The callback to invoke with the predictions. - */ -- (void)autocompleteQuery:(NSString *)query - bounds:(GMSCoordinateBounds * GMS_NULLABLE_PTR)bounds - filter:(GMSAutocompleteFilter * GMS_NULLABLE_PTR)filter - callback:(GMSAutocompletePredictionsCallback)callback; - -/** - * Add a place. The |place| must have all its fields set, except that website or phoneNumber may be - * nil. - * @param place The details of the place to be added. - * @param callback The callback to invoke with the place that was added. - */ -- (void)addPlace:(GMSUserAddedPlace *)place - callback:(GMSPlaceResultCallback)callback; - -@end - -GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacesMacros.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacesMacros.h deleted file mode 100644 index 76206be..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPlacesMacros.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// GMSPlacesMacros.h -// Google Maps SDK for iOS -// -// Copyright 2015 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - -#if !__has_feature(nullability) \ - || !defined(NS_ASSUME_NONNULL_BEGIN) \ - || !defined(NS_ASSUME_NONNULL_END) -#define GMS_ASSUME_NONNULL_BEGIN -#define GMS_ASSUME_NONNULL_END -#define GMS_NULLABLE -#define GMS_NULLABLE_PTR -#else -#define GMS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN -#define GMS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END -#define GMS_NULLABLE nullable -#define GMS_NULLABLE_PTR __nullable -#endif diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPolygon.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPolygon.h old mode 100644 new mode 100755 index 7bc115b..a0e1c66 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPolygon.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPolygon.h @@ -8,8 +8,15 @@ // Service: https://developers.google.com/maps/terms // +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif #import +GMS_ASSUME_NONNULL_BEGIN + @class GMSPath; /** @@ -20,16 +27,22 @@ @interface GMSPolygon : GMSOverlay /** The path that describes this polygon. The coordinates composing the path must be valid. */ -@property(nonatomic, copy) GMSPath *path; +@property(nonatomic, copy) GMSPath *GMS_NULLABLE_PTR path; + +/** + * The array of GMSPath instances that describes any holes in this polygon. The coordinates + * composing each path must be valid. + */ +@property(nonatomic, copy) GMS_NSArrayOf(GMSPath *) * GMS_NULLABLE_PTR holes; /** The width of the polygon outline in screen points. Defaults to 1. */ @property(nonatomic, assign) CGFloat strokeWidth; /** The color of the polygon outline. Defaults to nil. */ -@property(nonatomic, strong) UIColor *strokeColor; +@property(nonatomic, strong) UIColor *GMS_NULLABLE_PTR strokeColor; /** The fill color. Defaults to blueColor. */ -@property(nonatomic, strong) UIColor *fillColor; +@property(nonatomic, strong) UIColor *GMS_NULLABLE_PTR fillColor; /** Whether this polygon should be rendered with geodesic correction. */ @property(nonatomic, assign) BOOL geodesic; @@ -38,6 +51,8 @@ * Convenience constructor for GMSPolygon for a particular path. Other properties will have default * values. */ -+ (instancetype)polygonWithPath:(GMSPath *)path; ++ (instancetype)polygonWithPath:(GMSPath *GMS_NULLABLE_PTR)path; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPolyline.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPolyline.h old mode 100644 new mode 100755 index 704e4f0..8ac0bc5 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPolyline.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSPolyline.h @@ -8,10 +8,17 @@ // Service: https://developers.google.com/maps/terms // +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif #import @class GMSPath; +GMS_ASSUME_NONNULL_BEGIN + /** Describes the drawing style for one-dimensional entities such as polylines. */ @interface GMSStrokeStyle : NSObject @@ -23,7 +30,6 @@ @end - /** Describes the style for some region of a polyline. */ @interface GMSStyleSpan : NSObject @@ -59,7 +65,6 @@ @end - /** * GMSPolyline specifies the available options for a polyline that exists on the Earth's surface. * It is drawn as a physical line between the points specified in |path|. @@ -69,7 +74,7 @@ /** * The path that describes this polyline. */ -@property(nonatomic, copy) GMSPath *path; +@property(nonatomic, copy) GMSPath *GMS_NULLABLE_PTR path; /** * The width of the line in screen points. Defaults to 1. @@ -88,7 +93,7 @@ * Convenience constructor for GMSPolyline for a particular path. Other properties will have * default values. */ -+ (instancetype)polylineWithPath:(GMSPath *)path; ++ (instancetype)polylineWithPath:(GMSPath *GMS_NULLABLE_PTR)path; /** * An array containing GMSStyleSpan, the spans used to render this polyline. @@ -97,6 +102,8 @@ * over the remaining length. If this array is unset or empty, then |strokeColor| is used for the * entire line instead. */ -@property(nonatomic, copy) NSArray *spans; +@property(nonatomic, copy) GMS_NSArrayOf(GMSStyleSpan *) * GMS_NULLABLE_PTR spans; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSProjection.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSProjection.h old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSServices.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSServices.h old mode 100644 new mode 100755 index 1829236..503314d --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSServices.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSServices.h @@ -8,6 +8,14 @@ // Service: https://developers.google.com/maps/terms // +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** Service class for the Google Maps SDK for iOS. */ @interface GMSServices : NSObject @@ -30,8 +38,8 @@ /** * Provides your API key to the Google Maps SDK for iOS. This key is generated * for your application via the Google APIs Console, and is paired with your - * application's bundle ID to identify it. This should be called exactly once - * by your application, e.g., in application: didFinishLaunchingWithOptions:. + * application's bundle ID to identify it. This must be called exactly once + * by your application before any iOS Maps SDK object is initialized. * * @return YES if the APIKey was successfully provided */ @@ -49,3 +57,5 @@ + (NSString *)SDKVersion; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSSyncTileLayer.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSSyncTileLayer.h old mode 100644 new mode 100755 index c0671d9..43fdb0a --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSSyncTileLayer.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSSyncTileLayer.h @@ -10,6 +10,14 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + +GMS_ASSUME_NONNULL_BEGIN + /** * GMSSyncTileLayer is an abstract subclass of GMSTileLayer that provides a sync * interface to generate image tile data. @@ -24,6 +32,8 @@ * Calls to this method may also be made from multiple threads so * implementations must be threadsafe. */ -- (UIImage *)tileForX:(NSUInteger)x y:(NSUInteger)y zoom:(NSUInteger)zoom; +- (UIImage *GMS_NULLABLE_PTR)tileForX:(NSUInteger)x y:(NSUInteger)y zoom:(NSUInteger)zoom; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSTileLayer.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSTileLayer.h old mode 100644 new mode 100755 index 20bf77b..566a82d --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSTileLayer.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSTileLayer.h @@ -8,8 +8,16 @@ // Service: https://developers.google.com/maps/terms // +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + @class GMSMapView; +GMS_ASSUME_NONNULL_BEGIN + /** * Stub tile that is used to indicate that no tile exists for a specific tile * coordinate. May be returned by tileForX:y:zoom: on GMSTileProvider. @@ -24,7 +32,7 @@ FOUNDATION_EXTERN UIImage *const kGMSTileLayerNoTile; - (void)receiveTileWithX:(NSUInteger)x y:(NSUInteger)y zoom:(NSUInteger)zoom - image:(UIImage *)image; + image:(UIImage *GMS_NULLABLE_PTR)image; @end /** @@ -65,7 +73,7 @@ FOUNDATION_EXTERN UIImage *const kGMSTileLayerNoTile; * the layer to the map. Setting it to nil removes this layer from the map. A * layer may be active on at most one map at any given time. */ -@property(nonatomic, weak) GMSMapView *map; +@property(nonatomic, weak) GMSMapView *GMS_NULLABLE_PTR map; /** * Higher |zIndex| value tile layers will be drawn on top of lower |zIndex| @@ -101,3 +109,5 @@ FOUNDATION_EXTERN UIImage *const kGMSTileLayerNoTile; @property(nonatomic, assign) BOOL fadeIn; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSUISettings.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSUISettings.h old mode 100644 new mode 100755 index 6d05c97..40b1f78 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSUISettings.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSUISettings.h @@ -54,7 +54,7 @@ * * When the GMSMapView is contained by a UIScrollView (or other scrollable area), * this means that gestures on the map will not be additional consumed as scroll - * gestures. However, disabling this (set to NO) may be userful to support + * gestures. However, disabling this (set to NO) may be useful to support * complex view hierarchies or requirements. */ @property(nonatomic, assign) BOOL consumesGesturesInView; @@ -80,7 +80,7 @@ /** * Enables (default) or disables the indoor floor picker. If enabled, it is only * visible when the view is focused on a building with indoor floor data. - * If disabled, the selected floor can still be controlled programatically via + * If disabled, the selected floor can still be controlled programmatically via * the indoorDisplay mapView property. */ @property(nonatomic, assign) BOOL indoorPicker; diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSURLTileLayer.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSURLTileLayer.h old mode 100644 new mode 100755 index a3c6e87..058bba8 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSURLTileLayer.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSURLTileLayer.h @@ -10,13 +10,22 @@ #import +#if __has_feature(modules) +@import GoogleMapsBase; +#else +#import +#endif + @class NSURL; +GMS_ASSUME_NONNULL_BEGIN + /** * |GMSTileURLConstructor| is a block taking |x|, |y| and |zoom| * and returning an NSURL, or nil to indicate no tile for that location. */ -typedef NSURL *(^GMSTileURLConstructor)(NSUInteger x, NSUInteger y, NSUInteger zoom); +typedef NSURL *GMS_NULLABLE_PTR (^GMSTileURLConstructor)(NSUInteger x, NSUInteger y, + NSUInteger zoom); /** * GMSURLTileProvider fetches tiles based on the URLs returned from a @@ -45,6 +54,8 @@ typedef NSURL *(^GMSTileURLConstructor)(NSUInteger x, NSUInteger y, NSUInteger z * Specify the user agent to describe your application. If this is nil (the * default), the default iOS user agent is used for HTTP requests. */ -@property(nonatomic, copy) NSString *userAgent; +@property(nonatomic, copy) NSString *GMS_NULLABLE_PTR userAgent; @end + +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSUserAddedPlace.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSUserAddedPlace.h deleted file mode 100644 index c9f3472..0000000 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSUserAddedPlace.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// GMSUserAddedPlace.h -// Google Maps SDK for iOS -// -// Copyright 2014 Google Inc. -// -// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of -// Service: https://developers.google.com/maps/terms -// - -#import -#import - -/** - * Represents a place constructed by a user, suitable for adding to Google's collection of places. - * - * All properties must be set before passing to GMSPlacesClient.addPlace, except that either website - * _or_ phoneNumber may be nil. - */ -@interface GMSUserAddedPlace : NSObject - -/** Name of the place. */ -@property(nonatomic, copy) NSString *name; - -/** Address of the place. */ -@property(nonatomic, copy) NSString *address; - -/** Location of the place. */ -@property(nonatomic, assign) CLLocationCoordinate2D coordinate; - -/** Phone number of the place. */ -@property(nonatomic, copy) NSString *phoneNumber; - -/** List of types of the place as an array of NSStrings, like the GMSPlace.types property. */ -@property(nonatomic, copy) NSArray *types; - -/** The website for the place. */ -@property(nonatomic, copy) NSString *website; - -@end diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GoogleMaps.h b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GoogleMaps.h old mode 100644 new mode 100755 index bb86c01..165ac99 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GoogleMaps.h +++ b/Dependencies/GoogleMaps.framework/Versions/A/Headers/GoogleMaps.h @@ -11,14 +11,12 @@ #import #import #import -#import -#import -#import #import #import #import #import -#import +#import +#import #import #import #import @@ -26,6 +24,7 @@ #import #import #import +#import #import #import #import @@ -41,14 +40,6 @@ #import #import #import -#import -#import -#import -#import -#import -#import -#import -#import #import #import #import @@ -57,4 +48,3 @@ #import #import #import -#import diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Modules/module.modulemap b/Dependencies/GoogleMaps.framework/Versions/A/Modules/module.modulemap old mode 100644 new mode 100755 index c85090a..5763714 --- a/Dependencies/GoogleMaps.framework/Versions/A/Modules/module.modulemap +++ b/Dependencies/GoogleMaps.framework/Versions/A/Modules/module.modulemap @@ -1 +1,40 @@ -framework module GoogleMaps { umbrella header "GoogleMaps.h" export * module * { export * } } +framework module GoogleMaps { umbrella header "GoogleMaps.h" +header "GMSAddress.h" +header "GMSCALayer.h" +header "GMSCameraPosition.h" +header "GMSCameraUpdate.h" +header "GMSCircle.h" +header "GMSCoordinateBounds+GoogleMaps.h" +header "GMSDeprecationMacros.h" +header "GMSGeocoder.h" +header "GMSGeometryUtils.h" +header "GMSGroundOverlay.h" +header "GMSIndoorBuilding.h" +header "GMSIndoorDisplay.h" +header "GMSIndoorLevel.h" +header "GMSMapLayer.h" +header "GMSMapStyle.h" +header "GMSMapView+Animation.h" +header "GMSMapView.h" +header "GMSMarker.h" +header "GMSMarkerLayer.h" +header "GMSMutablePath.h" +header "GMSOrientation.h" +header "GMSOverlay.h" +header "GMSPanorama.h" +header "GMSPanoramaCamera.h" +header "GMSPanoramaCameraUpdate.h" +header "GMSPanoramaLayer.h" +header "GMSPanoramaLink.h" +header "GMSPanoramaService.h" +header "GMSPanoramaView.h" +header "GMSPath.h" +header "GMSPolygon.h" +header "GMSPolyline.h" +header "GMSProjection.h" +header "GMSServices.h" +header "GMSSyncTileLayer.h" +header "GMSTileLayer.h" +header "GMSUISettings.h" +header "GMSURLTileLayer.h" +export * module * { export * } } diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCacheStorage.momd/Storage.mom b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCacheStorage.momd/Storage.mom old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCacheStorage.momd/Storage.omo b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCacheStorage.momd/Storage.omo old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCacheStorage.momd/VersionInfo.plist b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCacheStorage.momd/VersionInfo.plist old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/DroidSansMerged-Regular.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/DroidSansMerged-Regular.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavNightModeSprites-0-1x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavNightModeSprites-0-1x.png new file mode 100755 index 0000000..b68a9f0 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavNightModeSprites-0-1x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavNightModeSprites-0-2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavNightModeSprites-0-2x.png new file mode 100755 index 0000000..3d077df Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavNightModeSprites-0-2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavNightModeSprites-0-3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavNightModeSprites-0-3x.png new file mode 100755 index 0000000..5180530 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavNightModeSprites-0-3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavSprites-0-1x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavSprites-0-1x.png new file mode 100755 index 0000000..447bcea Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavSprites-0-1x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavSprites-0-2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavSprites-0-2x.png new file mode 100755 index 0000000..a4cd614 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavSprites-0-2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavSprites-0-3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavSprites-0-3x.png new file mode 100755 index 0000000..db6a3e1 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSNavSprites-0-3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-1x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-1x.png old mode 100644 new mode 100755 index 8d7409e..9f0d53a Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-1x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-1x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-2x.png old mode 100644 new mode 100755 index 3491ab4..0d23cee Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-2x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-3x.png old mode 100644 new mode 100755 index 8a35660..00f2c57 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-3x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/GMSSprites-0-3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Info.plist b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Info.plist old mode 100644 new mode 100755 index 3e9ffc8..6805603 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Info.plist and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Info.plist differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Black.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Black.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-BlackItalic.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-BlackItalic.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Bold.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Bold.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-BoldItalic.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-BoldItalic.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Italic.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Italic.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Light.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Light.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-LightItalic.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-LightItalic.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Medium.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Medium.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-MediumItalic.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-MediumItalic.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Regular.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Regular.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Thin.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-Thin.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-ThinItalic.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Roboto-ThinItalic.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/RobotoCondensed-Italic.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/RobotoCondensed-Italic.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/RobotoCondensed-Regular.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/RobotoCondensed-Regular.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Siemreap.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Siemreap.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Tharlon-Regular.ttf b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/Tharlon-Regular.ttf old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ar.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ar.lproj/GMSCore.strings old mode 100644 new mode 100755 index de9f9e8..63f9da1 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ar.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ar.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background.png old mode 100644 new mode 100755 index 847575a..cec89b6 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background@2x.png old mode 100644 new mode 100755 index 84e76a3..7a3d29d Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background@2x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background@3x.png old mode 100644 new mode 100755 index b89372f..74eace5 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background@3x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_background@3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass.png old mode 100644 new mode 100755 index a0b07bb..11fee99 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass@2x.png old mode 100644 new mode 100755 index c03e1e9..a73d1d6 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass@2x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass_night.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass_night.png new file mode 100755 index 0000000..df8c234 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass_night.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass_night@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass_night@2x.png new file mode 100755 index 0000000..dccbf03 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_compass_night@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_my_location.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_my_location.png old mode 100644 new mode 100755 index e32568d..c09a65f Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_my_location.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_my_location.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_my_location@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_my_location@2x.png old mode 100644 new mode 100755 index c5465b7..379be62 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_my_location@2x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/button_my_location@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ca.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ca.lproj/GMSCore.strings old mode 100644 new mode 100755 index 83af8e3..5ba1693 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ca.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ca.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/cs.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/cs.lproj/GMSCore.strings old mode 100644 new mode 100755 index aacf12c..2184066 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/cs.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/cs.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/da.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/da.lproj/GMSCore.strings old mode 100644 new mode 100755 index d9d96ac..7277ae9 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/da.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/da.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/dav_one_way_16_256.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/dav_one_way_16_256.png old mode 100644 new mode 100755 index cb77f83..7f7c2fe Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/dav_one_way_16_256.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/dav_one_way_16_256.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/de.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/de.lproj/GMSCore.strings old mode 100644 new mode 100755 index ffa8a58..bc87d22 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/de.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/de.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/el.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/el.lproj/GMSCore.strings old mode 100644 new mode 100755 index 457e994..7160259 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/el.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/el.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en.lproj/GMSCore.strings old mode 100644 new mode 100755 index 4ee0314..4dd8f57 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_AU.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_AU.lproj/GMSCore.strings new file mode 100755 index 0000000..68669f3 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_AU.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_GB.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_GB.lproj/GMSCore.strings old mode 100644 new mode 100755 index 91e4ccb..68669f3 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_GB.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_GB.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_IN.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_IN.lproj/GMSCore.strings new file mode 100755 index 0000000..68669f3 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/en_IN.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es.lproj/GMSCore.strings old mode 100644 new mode 100755 index 50636cb..9180f8f Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es_419.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es_419.lproj/GMSCore.strings new file mode 100755 index 0000000..584359b Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es_419.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es_MX.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es_MX.lproj/GMSCore.strings new file mode 100755 index 0000000..584359b Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/es_MX.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fi.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fi.lproj/GMSCore.strings old mode 100644 new mode 100755 index bb6c09a..92f4ff2 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fi.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fi.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fr.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fr.lproj/GMSCore.strings old mode 100644 new mode 100755 index f8b7c87..473a74c Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fr.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fr.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fr_CA.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fr_CA.lproj/GMSCore.strings new file mode 100755 index 0000000..6f93103 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/fr_CA.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_56x20_with_2_stroke_color_60x22pt.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_56x20_with_2_stroke_color_60x22pt.png new file mode 100755 index 0000000..c8eb786 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_56x20_with_2_stroke_color_60x22pt.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_56x20_with_2_stroke_color_60x22pt@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_56x20_with_2_stroke_color_60x22pt@2x.png new file mode 100755 index 0000000..2eddacd Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_56x20_with_2_stroke_color_60x22pt@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_56x20_with_2_stroke_color_60x22pt@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_56x20_with_2_stroke_color_60x22pt@3x.png new file mode 100755 index 0000000..d971d34 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_56x20_with_2_stroke_color_60x22pt@3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_light_56x20_with_2_stroke_color_60x22pt.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_light_56x20_with_2_stroke_color_60x22pt.png new file mode 100755 index 0000000..1a2341e Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_light_56x20_with_2_stroke_color_60x22pt.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_light_56x20_with_2_stroke_color_60x22pt@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_light_56x20_with_2_stroke_color_60x22pt@2x.png new file mode 100755 index 0000000..9641b49 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_light_56x20_with_2_stroke_color_60x22pt@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_light_56x20_with_2_stroke_color_60x22pt@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_light_56x20_with_2_stroke_color_60x22pt@3x.png new file mode 100755 index 0000000..5a188c9 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/googlelogo_light_56x20_with_2_stroke_color_60x22pt@3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/he.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/he.lproj/GMSCore.strings old mode 100644 new mode 100755 index 1288e8a..d184291 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/he.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/he.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hi.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hi.lproj/GMSCore.strings new file mode 100755 index 0000000..97aeec3 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hi.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hr.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hr.lproj/GMSCore.strings old mode 100644 new mode 100755 index 3d840fa..f90d35f Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hr.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hr.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hu.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hu.lproj/GMSCore.strings old mode 100644 new mode 100755 index 9c6b00b..a1fbcb2 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hu.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/hu.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_compass_needle.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_compass_needle.png old mode 100644 new mode 100755 index 6e0663e..db933c8 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_compass_needle.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_compass_needle.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_compass_needle@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_compass_needle@2x.png old mode 100644 new mode 100755 index f1d5caf..65fee67 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_compass_needle@2x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_compass_needle@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation.png old mode 100644 new mode 100755 index 4bd8c8f..dccdcfd Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation@2x.png old mode 100644 new mode 100755 index b2cf321..ccb840e Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation@2x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation@3x.png old mode 100644 new mode 100755 index 91cf55f..0300f62 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation@3x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ic_qu_direction_mylocation@3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/id.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/id.lproj/GMSCore.strings old mode 100644 new mode 100755 index 61faea9..ab3ed0c Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/id.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/id.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/it.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/it.lproj/GMSCore.strings old mode 100644 new mode 100755 index 0afe1f2..2180dd0 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/it.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/it.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ja.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ja.lproj/GMSCore.strings old mode 100644 new mode 100755 index 54a532b..ddaaf93 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ja.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ja.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ko.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ko.lproj/GMSCore.strings old mode 100644 new mode 100755 index 9f4c41c..4053b92 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ko.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ko.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ms.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ms.lproj/GMSCore.strings old mode 100644 new mode 100755 index 3eee646..4420d6f Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ms.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ms.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/nb.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/nb.lproj/GMSCore.strings new file mode 100755 index 0000000..f47fd08 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/nb.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/nl.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/nl.lproj/GMSCore.strings old mode 100644 new mode 100755 index 31a4197..fb2610b Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/nl.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/nl.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/no.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/no.lproj/GMSCore.strings deleted file mode 100644 index dad08a4..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/no.lproj/GMSCore.strings and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pl.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pl.lproj/GMSCore.strings old mode 100644 new mode 100755 index f59c162..ef54f7d Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pl.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pl.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/polyline_colors_texture.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/polyline_colors_texture.png old mode 100644 new mode 100755 index badf109..4e42166 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/polyline_colors_texture.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/polyline_colors_texture.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/polyline_colors_texture_dim.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/polyline_colors_texture_dim.png new file mode 100755 index 0000000..576dc88 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/polyline_colors_texture_dim.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt.lproj/GMSCore.strings old mode 100644 new mode 100755 index d08bfc1..f75de18 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt_BR.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt_BR.lproj/GMSCore.strings new file mode 100755 index 0000000..f75de18 Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt_BR.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt_PT.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt_PT.lproj/GMSCore.strings old mode 100644 new mode 100755 index f98aac2..5448d50 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt_PT.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/pt_PT.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ro.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ro.lproj/GMSCore.strings old mode 100644 new mode 100755 index 576d222..d26a3e7 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ro.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ro.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_1-1.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_1-1.png old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_128-32.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_128-32.png old mode 100644 new mode 100755 index 357d1df..08672e6 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_128-32.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_128-32.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_16-4.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_16-4.png old mode 100644 new mode 100755 index 35f58cf..ba0b0a5 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_16-4.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_16-4.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_2-1.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_2-1.png old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_256-64.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_256-64.png old mode 100644 new mode 100755 index 5162343..45a66a4 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_256-64.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_256-64.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_32-8.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_32-8.png old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_4-1.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_4-1.png old mode 100644 new mode 100755 index a44a743..b2efb5d Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_4-1.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_4-1.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_64-16.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_64-16.png old mode 100644 new mode 100755 index 46915dc..664e9f6 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_64-16.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_64-16.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_8-2.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_8-2.png old mode 100644 new mode 100755 index be12717..dabc352 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_8-2.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/road_8-2.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ru.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ru.lproj/GMSCore.strings old mode 100644 new mode 100755 index c488955..0d98dd6 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ru.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/ru.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/sk.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/sk.lproj/GMSCore.strings old mode 100644 new mode 100755 index 3188adf..bc8a409 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/sk.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/sk.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/sv.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/sv.lproj/GMSCore.strings old mode 100644 new mode 100755 index 530d064..61b5e68 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/sv.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/sv.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/th.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/th.lproj/GMSCore.strings old mode 100644 new mode 100755 index b544aa9..92d6492 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/th.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/th.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/tr.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/tr.lproj/GMSCore.strings old mode 100644 new mode 100755 index 2878e9a..54f1ba6 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/tr.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/tr.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/uk.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/uk.lproj/GMSCore.strings old mode 100644 new mode 100755 index 249e3d6..ea455a2 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/uk.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/uk.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/vi.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/vi.lproj/GMSCore.strings old mode 100644 new mode 100755 index 6539316..6246d75 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/vi.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/vi.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_dark.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_dark.png deleted file mode 100644 index be3a8ab..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_dark.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_dark@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_dark@2x.png deleted file mode 100644 index 4bae5d5..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_dark@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_dark@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_dark@3x.png deleted file mode 100644 index ef7290b..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_dark@3x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_light.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_light.png deleted file mode 100644 index 10624db..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_light.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_light@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_light@2x.png deleted file mode 100644 index 36112a0..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_light@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_light@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_light@3x.png deleted file mode 100644 index 6ad6233..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/watermark_light@3x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_CN.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_CN.lproj/GMSCore.strings old mode 100644 new mode 100755 index dd4b0a5..ebd3314 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_CN.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_CN.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_HK.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_HK.lproj/GMSCore.strings new file mode 100755 index 0000000..a67bb9e Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_HK.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_TW.lproj/GMSCore.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_TW.lproj/GMSCore.strings old mode 100644 new mode 100755 index 6ec7c70..d5a0a5a Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_TW.lproj/GMSCore.strings and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/GMSCoreResources.bundle/zh_TW.lproj/GMSCore.strings differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/Info.plist b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/Info.plist old mode 100644 new mode 100755 index e6936d1..7d44b90 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/Info.plist and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/Info.plist differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active.png deleted file mode 100644 index cbcf301..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active@2x.png deleted file mode 100644 index 5f8306a..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active@3x.png deleted file mode 100644 index 170c60f..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active@3x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active_grouped.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active_grouped.png deleted file mode 100644 index 1e1bcf6..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active_grouped.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active_grouped@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active_grouped@2x.png deleted file mode 100644 index 143e144..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active_grouped@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active_grouped@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active_grouped@3x.png deleted file mode 100644 index 1205603..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/active_grouped@3x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/back.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/back.png deleted file mode 100644 index 2765dbc..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/back.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/back@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/back@2x.png deleted file mode 100644 index a9fcb27..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/back@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/back@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/back@3x.png deleted file mode 100644 index add6f20..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/back@3x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left.png old mode 100644 new mode 100755 index 0f8db09..c8e4a41 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left@2x.png old mode 100644 new mode 100755 index 8ece32c..3e8fdca Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left@2x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left@3x.png old mode 100644 new mode 100755 index dfdc21a..1d8aee7 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left@3x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_left@3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right.png old mode 100644 new mode 100755 index 4ed47e4..6189714 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right@2x.png old mode 100644 new mode 100755 index 475f4b8..8abc3f7 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right@2x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right@3x.png old mode 100644 new mode 100755 index fc7e633..7c35f06 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right@3x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/bubble_right@3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/card_bg.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/card_bg.png deleted file mode 100644 index 2ae75f6..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/card_bg.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/card_bg@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/card_bg@2x.png deleted file mode 100644 index 3638007..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/card_bg@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/card_bg@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/card_bg@3x.png deleted file mode 100644 index 8d7ae8f..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/card_bg@3x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/close.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/close.png deleted file mode 100644 index 9e693f1..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/close.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/close@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/close@2x.png deleted file mode 100644 index 8b9caea..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/close@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/close@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/close@3x.png deleted file mode 100644 index 6edea38..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/close@3x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker.png old mode 100644 new mode 100755 index f51c3a4..ad62a2b Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker@2x.png old mode 100644 new mode 100755 index 59dbd92..50fa00b Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker@2x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker@2x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker@3x.png old mode 100644 new mode 100755 index 829ea5f..a368b46 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker@3x.png and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/default_marker@3x.png differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/en.lproj/InfoPlist.strings b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/en.lproj/InfoPlist.strings old mode 100644 new mode 100755 diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/oss_licenses_maps.txt.gz b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/oss_licenses_maps.txt.gz new file mode 100755 index 0000000..1331f9a Binary files /dev/null and b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/oss_licenses_maps.txt.gz differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_nav_back.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_nav_back.png deleted file mode 100644 index 4c72bcf..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_nav_back.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_nav_back@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_nav_back@2x.png deleted file mode 100644 index 95bc759..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_nav_back@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_search_icon.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_search_icon.png deleted file mode 100644 index 7e6193a..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_search_icon.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_search_icon@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_search_icon@2x.png deleted file mode 100644 index 61e1e74..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/place_picker_search_icon@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/red_icons.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/red_icons.png deleted file mode 100644 index c6a7bec..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/red_icons.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/red_icons@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/red_icons@2x.png deleted file mode 100644 index f0a5e9f..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/red_icons@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/red_icons@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/red_icons@3x.png deleted file mode 100644 index 02f0826..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/red_icons@3x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/white_icons.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/white_icons.png deleted file mode 100644 index 49b4e9d..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/white_icons.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/white_icons@2x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/white_icons@2x.png deleted file mode 100644 index a42707e..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/white_icons@2x.png and /dev/null differ diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/white_icons@3x.png b/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/white_icons@3x.png deleted file mode 100644 index 5838eb0..0000000 Binary files a/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle/white_icons@3x.png and /dev/null differ diff --git a/Dependencies/GoogleMapsBase.framework/GoogleMapsBase b/Dependencies/GoogleMapsBase.framework/GoogleMapsBase new file mode 120000 index 0000000..11c8237 --- /dev/null +++ b/Dependencies/GoogleMapsBase.framework/GoogleMapsBase @@ -0,0 +1 @@ +Versions/Current/GoogleMapsBase \ No newline at end of file diff --git a/Dependencies/GoogleMapsBase.framework/Headers b/Dependencies/GoogleMapsBase.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/Dependencies/GoogleMapsBase.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/Dependencies/GoogleMapsBase.framework/Modules b/Dependencies/GoogleMapsBase.framework/Modules new file mode 120000 index 0000000..5736f31 --- /dev/null +++ b/Dependencies/GoogleMapsBase.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/Dependencies/GoogleMapsBase.framework/Versions/A/GoogleMapsBase b/Dependencies/GoogleMapsBase.framework/Versions/A/GoogleMapsBase new file mode 100755 index 0000000..3667a59 Binary files /dev/null and b/Dependencies/GoogleMapsBase.framework/Versions/A/GoogleMapsBase differ diff --git a/Dependencies/GoogleMapsBase.framework/Versions/A/Headers/GMSCompatabilityMacros.h b/Dependencies/GoogleMapsBase.framework/Versions/A/Headers/GMSCompatabilityMacros.h new file mode 100755 index 0000000..2deea17 --- /dev/null +++ b/Dependencies/GoogleMapsBase.framework/Versions/A/Headers/GMSCompatabilityMacros.h @@ -0,0 +1,43 @@ +// +// GMSCompatabilityMacros.h +// Google Maps SDK for iOS +// +// Copyright 2015 Google Inc. +// +// Usage of this SDK is subject to the Google Maps/Google Earth APIs Terms of +// Service: https://developers.google.com/maps/terms +// + +#import + +#if !__has_feature(nullability) || !defined(NS_ASSUME_NONNULL_BEGIN) || \ + !defined(NS_ASSUME_NONNULL_END) +#define GMS_ASSUME_NONNULL_BEGIN +#define GMS_ASSUME_NONNULL_END +#define GMS_NULLABLE +#define GMS_NULLABLE_PTR +#define GMS_NULLABLE_INSTANCETYPE instancetype +#else +#define GMS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN +#define GMS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END +#define GMS_NULLABLE nullable +#define GMS_NULLABLE_PTR __nullable +#define GMS_NULLABLE_INSTANCETYPE nullable instancetype +#endif + +#if __has_feature(objc_generics) && defined(__IPHONE_9_0) && \ + __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_9_0 +#define GMS_DECLARE_GENERICS 1 +#else +#define GMS_DECLARE_GENERICS 0 +#endif + +#if GMS_DECLARE_GENERICS +#define GMS_NSArrayOf(value) NSArray +#define GMS_NSDictionaryOf(key, value) NSDictionary +#define GMS_NSSetOf(value) NSSet +#else +#define GMS_NSArrayOf(value) NSArray +#define GMS_NSDictionaryOf(key, value) NSDictionary +#define GMS_NSSetOf(value) NSSet +#endif diff --git a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCoordinateBounds.h b/Dependencies/GoogleMapsBase.framework/Versions/A/Headers/GMSCoordinateBounds.h old mode 100644 new mode 100755 similarity index 86% rename from Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCoordinateBounds.h rename to Dependencies/GoogleMapsBase.framework/Versions/A/Headers/GMSCoordinateBounds.h index f7aae8a..4db7511 --- a/Dependencies/GoogleMaps.framework/Versions/A/Headers/GMSCoordinateBounds.h +++ b/Dependencies/GoogleMapsBase.framework/Versions/A/Headers/GMSCoordinateBounds.h @@ -10,9 +10,9 @@ #import -#import +#import -@class GMSPath; +GMS_ASSUME_NONNULL_BEGIN /** * GMSCoordinateBounds represents a rectangular bounding box on the Earth's @@ -48,16 +48,6 @@ - (id)initWithCoordinate:(CLLocationCoordinate2D)coord1 coordinate:(CLLocationCoordinate2D)coord2; -/** - * Inits with bounds that encompass |region|. - */ -- (id)initWithRegion:(GMSVisibleRegion)region; - -/** - * Inits with bounds that encompass |path|. - */ -- (id)initWithPath:(GMSPath *)path; - /** * Returns a GMSCoordinateBounds representing * the current bounds extended to include the passed-in coordinate. @@ -74,12 +64,6 @@ */ - (GMSCoordinateBounds *)includingBounds:(GMSCoordinateBounds *)other; -/** - * Returns a GMSCoordinateBounds representing the current bounds extended to - * include |path|. - */ -- (GMSCoordinateBounds *)includingPath:(GMSPath *)path; - /** * Returns YES if |coordinate| is contained within this bounds. This includes * points that lie exactly on the edge of the bounds. @@ -95,3 +79,4 @@ @end +GMS_ASSUME_NONNULL_END diff --git a/Dependencies/GoogleMapsBase.framework/Versions/A/Headers/GoogleMapsBase.h b/Dependencies/GoogleMapsBase.framework/Versions/A/Headers/GoogleMapsBase.h new file mode 100755 index 0000000..9183bb1 --- /dev/null +++ b/Dependencies/GoogleMapsBase.framework/Versions/A/Headers/GoogleMapsBase.h @@ -0,0 +1,2 @@ +#import +#import diff --git a/Dependencies/GoogleMapsBase.framework/Versions/A/Modules/module.modulemap b/Dependencies/GoogleMapsBase.framework/Versions/A/Modules/module.modulemap new file mode 100755 index 0000000..360c546 --- /dev/null +++ b/Dependencies/GoogleMapsBase.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,4 @@ +framework module GoogleMapsBase { umbrella header "GoogleMapsBase.h" +header "GMSCompatabilityMacros.h" +header "GMSCoordinateBounds.h" +export * module * { export * } } diff --git a/Dependencies/GoogleMapsBase.framework/Versions/Current b/Dependencies/GoogleMapsBase.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/Dependencies/GoogleMapsBase.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/Dependencies/GoogleMapsCore.framework/GoogleMapsCore b/Dependencies/GoogleMapsCore.framework/GoogleMapsCore new file mode 120000 index 0000000..2761192 --- /dev/null +++ b/Dependencies/GoogleMapsCore.framework/GoogleMapsCore @@ -0,0 +1 @@ +Versions/Current/GoogleMapsCore \ No newline at end of file diff --git a/Dependencies/GoogleMapsCore.framework/Headers b/Dependencies/GoogleMapsCore.framework/Headers new file mode 120000 index 0000000..a177d2a --- /dev/null +++ b/Dependencies/GoogleMapsCore.framework/Headers @@ -0,0 +1 @@ +Versions/Current/Headers \ No newline at end of file diff --git a/Dependencies/GoogleMapsCore.framework/Modules b/Dependencies/GoogleMapsCore.framework/Modules new file mode 120000 index 0000000..5736f31 --- /dev/null +++ b/Dependencies/GoogleMapsCore.framework/Modules @@ -0,0 +1 @@ +Versions/Current/Modules \ No newline at end of file diff --git a/Dependencies/GoogleMapsCore.framework/Versions/A/GoogleMapsCore b/Dependencies/GoogleMapsCore.framework/Versions/A/GoogleMapsCore new file mode 100755 index 0000000..0496494 Binary files /dev/null and b/Dependencies/GoogleMapsCore.framework/Versions/A/GoogleMapsCore differ diff --git a/Dependencies/GoogleMapsCore.framework/Versions/A/Headers/GoogleMapsCore.h b/Dependencies/GoogleMapsCore.framework/Versions/A/Headers/GoogleMapsCore.h new file mode 100755 index 0000000..e69de29 diff --git a/Dependencies/GoogleMapsCore.framework/Versions/A/Modules/module.modulemap b/Dependencies/GoogleMapsCore.framework/Versions/A/Modules/module.modulemap new file mode 100755 index 0000000..ef88a0e --- /dev/null +++ b/Dependencies/GoogleMapsCore.framework/Versions/A/Modules/module.modulemap @@ -0,0 +1,2 @@ +framework module GoogleMapsCore { umbrella header "GoogleMapsCore.h" +export * module * { export * } } diff --git a/Dependencies/GoogleMapsCore.framework/Versions/Current b/Dependencies/GoogleMapsCore.framework/Versions/Current new file mode 120000 index 0000000..8c7e5a6 --- /dev/null +++ b/Dependencies/GoogleMapsCore.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/PXGoogleDirections.podspec b/PXGoogleDirections.podspec index 1bbe4bc..db55ede 100644 --- a/PXGoogleDirections.podspec +++ b/PXGoogleDirections.podspec @@ -1,25 +1,26 @@ Pod::Spec.new do |s| s.name = 'PXGoogleDirections' - s.version = '1.2.4' + s.version = '1.3' s.homepage = "https://github.com/poulpix/PXGoogleDirections" s.summary = 'Google Directions API SDK for iOS, entirely written in Swift' - #s.screenshot = "" + s.screenshots = [ 'https://raw.githubusercontent.com/poulpix/PXGoogleDirections/master/Sample/SampleScreen1.png', 'https://raw.githubusercontent.com/poulpix/PXGoogleDirections/master/Sample/SampleScreen2.png' ] s.author = { 'Romain L' => 'dev.romain@me.com' } s.license = { :type => 'BSD', :file => 'LICENSE' } s.social_media_url = "https://twitter.com/_RomainL" - s.platforms = { :ios => '8.0' } - s.ios.deployment_target = '8.0' + s.platforms = { :ios => '8.1' } + s.ios.deployment_target = '8.1' s.source_files = 'PXGoogleDirections/*.{h,swift}' s.module_name = 'PXGoogleDirections' - s.source = { :git => "https://github.com/poulpix/PXGoogleDirections.git", :tag => "1.2.4" } + s.source = { :git => "https://github.com/poulpix/PXGoogleDirections.git", :tag => "1.3" } s.requires_arc = true s.libraries = "c++", "icucore", "z" - s.frameworks = "Accelerate", "AVFoundation", "CoreBluetooth", "CoreData", "CoreLocation", "CoreText", "Foundation", "GLKit", "ImageIO", "OpenGLES", "QuartzCore", "Security", "SystemConfiguration", "CoreGraphics", "GoogleMaps" - s.resource_bundles = { 'GoogleMaps' => ['Pods/GoogleMaps/Frameworks/GoogleMaps.framework/Resources/*.bundle'] } - s.vendored_frameworks = "Dependencies/GoogleMaps.framework" + s.frameworks = "Accelerate", "AVFoundation", "CoreBluetooth", "CoreData", "CoreLocation", "CoreText", "Foundation", "GLKit", "ImageIO", "OpenGLES", "QuartzCore", "Security", "SystemConfiguration", "CoreGraphics", "GoogleMapsCore", "GoogleMapsBase", "GoogleMaps" + #s.dependency 'GoogleMaps', '~> 2.0' + s.resource = 'Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle' + s.vendored_frameworks = "Dependencies/GoogleMaps.framework", "Dependencies/GoogleMapsBase.framework", "Dependencies/GoogleMapsCore.framework" s.xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '$(PODS_ROOT)/PXGoogleDirections/Dependencies' } end diff --git a/PXGoogleDirections.xcodeproj/project.pbxproj b/PXGoogleDirections.xcodeproj/project.pbxproj index fe749e9..10ba175 100644 --- a/PXGoogleDirections.xcodeproj/project.pbxproj +++ b/PXGoogleDirections.xcodeproj/project.pbxproj @@ -7,207 +7,131 @@ objects = { /* Begin PBXBuildFile section */ - 7ACA42DB1BA3380000BD6516 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACA42DA1BA3380000BD6516 /* Accelerate.framework */; }; - 7ACA42DD1BA3380500BD6516 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACA42DC1BA3380500BD6516 /* CoreBluetooth.framework */; }; - 7ACA42DF1BA3380E00BD6516 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACA42DE1BA3380E00BD6516 /* Security.framework */; }; - 7ACC226F1AAC5BF600598142 /* PXGoogleDirections.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ACC226E1AAC5BF600598142 /* PXGoogleDirections.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7ACC22911AAC5D3700598142 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC22851AAC5D3700598142 /* AVFoundation.framework */; }; - 7ACC22921AAC5D3700598142 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC22861AAC5D3700598142 /* CoreData.framework */; }; - 7ACC22931AAC5D3700598142 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC22871AAC5D3700598142 /* CoreLocation.framework */; }; - 7ACC22941AAC5D3700598142 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC22881AAC5D3700598142 /* CoreText.framework */; }; - 7ACC22951AAC5D3700598142 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC22891AAC5D3700598142 /* GLKit.framework */; }; - 7ACC22961AAC5D3700598142 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC228A1AAC5D3700598142 /* ImageIO.framework */; }; - 7ACC22971AAC5D3700598142 /* libc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC228B1AAC5D3700598142 /* libc++.dylib */; }; - 7ACC22981AAC5D3700598142 /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC228C1AAC5D3700598142 /* libicucore.dylib */; }; - 7ACC22991AAC5D3700598142 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC228D1AAC5D3700598142 /* libz.dylib */; }; - 7ACC229A1AAC5D3700598142 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC228E1AAC5D3700598142 /* OpenGLES.framework */; }; - 7ACC229B1AAC5D3700598142 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC228F1AAC5D3700598142 /* QuartzCore.framework */; }; - 7ACC229C1AAC5D3700598142 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACC22901AAC5D3700598142 /* SystemConfiguration.framework */; }; - 7ACC22C91AAC5E7A00598142 /* PXGoogleDirections.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22B71AAC5E7A00598142 /* PXGoogleDirections.swift */; }; - 7ACC22CA1AAC5E7A00598142 /* PXGoogleDirectionsDistance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22B81AAC5E7A00598142 /* PXGoogleDirectionsDistance.swift */; }; - 7ACC22CB1AAC5E7A00598142 /* PXGoogleDirectionsDuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22B91AAC5E7A00598142 /* PXGoogleDirectionsDuration.swift */; }; - 7ACC22CC1AAC5E7A00598142 /* PXGoogleDirectionsEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22BA1AAC5E7A00598142 /* PXGoogleDirectionsEnums.swift */; }; - 7ACC22CD1AAC5E7A00598142 /* PXGoogleDirectionsResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22BB1AAC5E7A00598142 /* PXGoogleDirectionsResponse.swift */; }; - 7ACC22CE1AAC5E7A00598142 /* PXGoogleDirectionsRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22BC1AAC5E7A00598142 /* PXGoogleDirectionsRoute.swift */; }; - 7ACC22CF1AAC5E7A00598142 /* PXGoogleDirectionsRouteFare.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22BD1AAC5E7A00598142 /* PXGoogleDirectionsRouteFare.swift */; }; - 7ACC22D01AAC5E7A00598142 /* PXGoogleDirectionsRouteLeg.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22BE1AAC5E7A00598142 /* PXGoogleDirectionsRouteLeg.swift */; }; - 7ACC22D11AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStep.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22BF1AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStep.swift */; }; - 7ACC22D21AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22C01AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift */; }; - 7ACC22D31AAC5E7A00598142 /* PXGoogleDirectionsStop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22C11AAC5E7A00598142 /* PXGoogleDirectionsStop.swift */; }; - 7ACC22D41AAC5E7A00598142 /* PXGoogleDirectionsTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22C21AAC5E7A00598142 /* PXGoogleDirectionsTime.swift */; }; - 7ACC22D51AAC5E7A00598142 /* PXGoogleDirectionsTransitAgency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22C31AAC5E7A00598142 /* PXGoogleDirectionsTransitAgency.swift */; }; - 7ACC22D61AAC5E7A00598142 /* PXGoogleDirectionsTransitLine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22C41AAC5E7A00598142 /* PXGoogleDirectionsTransitLine.swift */; }; - 7ACC22D71AAC5E7A00598142 /* PXGoogleDirectionsTransitLineVehicle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22C51AAC5E7A00598142 /* PXGoogleDirectionsTransitLineVehicle.swift */; }; - 7ACC22D81AAC5E7A00598142 /* PXLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22C61AAC5E7A00598142 /* PXLocation.swift */; }; - 7ACC22D91AAC5E7A00598142 /* PXTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22C71AAC5E7A00598142 /* PXTime.swift */; }; - 7ACC22DA1AAC5E7A00598142 /* PXUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACC22C81AAC5E7A00598142 /* PXUtils.swift */; }; - 7F0ADC536D6FE01A744A4E69 /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59B683EB59F9DDD3EA79A643 /* Pods.framework */; }; - 85C4D69131D2469298353926 /* Pods_PXGoogleDirections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CFFC96502810B3F2E7A79A07 /* Pods_PXGoogleDirections.framework */; }; + 7A083DDB1D2D71D900B42940 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A083DDA1D2D71D900B42940 /* UIKit.framework */; }; + 7A083DEE1D2D723F00B42940 /* PXGoogleDirections.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DDC1D2D723F00B42940 /* PXGoogleDirections.swift */; }; + 7A083DEF1D2D723F00B42940 /* PXGoogleDirectionsDistance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DDD1D2D723F00B42940 /* PXGoogleDirectionsDistance.swift */; }; + 7A083DF01D2D723F00B42940 /* PXGoogleDirectionsDuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DDE1D2D723F00B42940 /* PXGoogleDirectionsDuration.swift */; }; + 7A083DF11D2D723F00B42940 /* PXGoogleDirectionsEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DDF1D2D723F00B42940 /* PXGoogleDirectionsEnums.swift */; }; + 7A083DF21D2D723F00B42940 /* PXGoogleDirectionsResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE01D2D723F00B42940 /* PXGoogleDirectionsResponse.swift */; }; + 7A083DF31D2D723F00B42940 /* PXGoogleDirectionsRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE11D2D723F00B42940 /* PXGoogleDirectionsRoute.swift */; }; + 7A083DF41D2D723F00B42940 /* PXGoogleDirectionsRouteFare.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE21D2D723F00B42940 /* PXGoogleDirectionsRouteFare.swift */; }; + 7A083DF51D2D723F00B42940 /* PXGoogleDirectionsRouteLeg.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE31D2D723F00B42940 /* PXGoogleDirectionsRouteLeg.swift */; }; + 7A083DF61D2D723F00B42940 /* PXGoogleDirectionsRouteLegStep.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE41D2D723F00B42940 /* PXGoogleDirectionsRouteLegStep.swift */; }; + 7A083DF71D2D723F00B42940 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE51D2D723F00B42940 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift */; }; + 7A083DF81D2D723F00B42940 /* PXGoogleDirectionsStop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE61D2D723F00B42940 /* PXGoogleDirectionsStop.swift */; }; + 7A083DF91D2D723F00B42940 /* PXGoogleDirectionsTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE71D2D723F00B42940 /* PXGoogleDirectionsTime.swift */; }; + 7A083DFA1D2D723F00B42940 /* PXGoogleDirectionsTransitAgency.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE81D2D723F00B42940 /* PXGoogleDirectionsTransitAgency.swift */; }; + 7A083DFB1D2D723F00B42940 /* PXGoogleDirectionsTransitLine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DE91D2D723F00B42940 /* PXGoogleDirectionsTransitLine.swift */; }; + 7A083DFC1D2D723F00B42940 /* PXGoogleDirectionsTransitLineVehicle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DEA1D2D723F00B42940 /* PXGoogleDirectionsTransitLineVehicle.swift */; }; + 7A083DFD1D2D723F00B42940 /* PXLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DEB1D2D723F00B42940 /* PXLocation.swift */; }; + 7A083DFE1D2D723F00B42940 /* PXTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DEC1D2D723F00B42940 /* PXTime.swift */; }; + 7A083DFF1D2D723F00B42940 /* PXUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A083DED1D2D723F00B42940 /* PXUtils.swift */; }; + 7A0985511D2D71120095737F /* PXGoogleDirections.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A0985501D2D71120095737F /* PXGoogleDirections.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7DCAADA0A9AB8FDB51F35531 /* Pods_PXGoogleDirections.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8100287785EB5930FC9677CE /* Pods_PXGoogleDirections.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 036D2F97502E8789D8940738 /* Pods-PXGoogleDirections.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PXGoogleDirections.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PXGoogleDirections/Pods-PXGoogleDirections.debug.xcconfig"; sourceTree = ""; }; - 3EA174E0BF815FA9C8190EB6 /* Pods-PXGoogleDirections.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PXGoogleDirections.release.xcconfig"; path = "Pods/Target Support Files/Pods-PXGoogleDirections/Pods-PXGoogleDirections.release.xcconfig"; sourceTree = ""; }; - 59B683EB59F9DDD3EA79A643 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 73C7AB8F38C95682255A5286 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; - 7A18671C1BA3358A0056BEB3 /* GoogleMaps.podspec.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = GoogleMaps.podspec.json; sourceTree = SOURCE_ROOT; }; - 7ACA42D81BA3361300BD6516 /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 7ACA42DA1BA3380000BD6516 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - 7ACA42DC1BA3380500BD6516 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; - 7ACA42DE1BA3380E00BD6516 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 7ACC22691AAC5BF600598142 /* PXGoogleDirections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PXGoogleDirections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7ACC226D1AAC5BF600598142 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7ACC226E1AAC5BF600598142 /* PXGoogleDirections.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PXGoogleDirections.h; sourceTree = ""; }; - 7ACC22851AAC5D3700598142 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - 7ACC22861AAC5D3700598142 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; - 7ACC22871AAC5D3700598142 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; - 7ACC22881AAC5D3700598142 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; - 7ACC22891AAC5D3700598142 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; - 7ACC228A1AAC5D3700598142 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; - 7ACC228B1AAC5D3700598142 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; }; - 7ACC228C1AAC5D3700598142 /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = usr/lib/libicucore.dylib; sourceTree = SDKROOT; }; - 7ACC228D1AAC5D3700598142 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; - 7ACC228E1AAC5D3700598142 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - 7ACC228F1AAC5D3700598142 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 7ACC22901AAC5D3700598142 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; - 7ACC22B71AAC5E7A00598142 /* PXGoogleDirections.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirections.swift; sourceTree = ""; }; - 7ACC22B81AAC5E7A00598142 /* PXGoogleDirectionsDistance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsDistance.swift; sourceTree = ""; }; - 7ACC22B91AAC5E7A00598142 /* PXGoogleDirectionsDuration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsDuration.swift; sourceTree = ""; }; - 7ACC22BA1AAC5E7A00598142 /* PXGoogleDirectionsEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsEnums.swift; sourceTree = ""; }; - 7ACC22BB1AAC5E7A00598142 /* PXGoogleDirectionsResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsResponse.swift; sourceTree = ""; }; - 7ACC22BC1AAC5E7A00598142 /* PXGoogleDirectionsRoute.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRoute.swift; sourceTree = ""; }; - 7ACC22BD1AAC5E7A00598142 /* PXGoogleDirectionsRouteFare.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRouteFare.swift; sourceTree = ""; }; - 7ACC22BE1AAC5E7A00598142 /* PXGoogleDirectionsRouteLeg.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRouteLeg.swift; sourceTree = ""; }; - 7ACC22BF1AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStep.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRouteLegStep.swift; sourceTree = ""; }; - 7ACC22C01AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRouteLegStepTransitDetails.swift; sourceTree = ""; }; - 7ACC22C11AAC5E7A00598142 /* PXGoogleDirectionsStop.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsStop.swift; sourceTree = ""; }; - 7ACC22C21AAC5E7A00598142 /* PXGoogleDirectionsTime.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsTime.swift; sourceTree = ""; }; - 7ACC22C31AAC5E7A00598142 /* PXGoogleDirectionsTransitAgency.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsTransitAgency.swift; sourceTree = ""; }; - 7ACC22C41AAC5E7A00598142 /* PXGoogleDirectionsTransitLine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsTransitLine.swift; sourceTree = ""; }; - 7ACC22C51AAC5E7A00598142 /* PXGoogleDirectionsTransitLineVehicle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsTransitLineVehicle.swift; sourceTree = ""; }; - 7ACC22C61AAC5E7A00598142 /* PXLocation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXLocation.swift; sourceTree = ""; }; - 7ACC22C71AAC5E7A00598142 /* PXTime.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXTime.swift; sourceTree = ""; }; - 7ACC22C81AAC5E7A00598142 /* PXUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXUtils.swift; sourceTree = ""; }; - 7ACC22DB1AAC5ED900598142 /* PXGoogleDirections.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PXGoogleDirections.podspec; sourceTree = SOURCE_ROOT; }; - CFFC96502810B3F2E7A79A07 /* Pods_PXGoogleDirections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PXGoogleDirections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EEF27D3D493675EF3313D6E1 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; + 40B3DE48E5D50B63C81FCFF7 /* Pods-PXGoogleDirections.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PXGoogleDirections.release.xcconfig"; path = "Pods/Target Support Files/Pods-PXGoogleDirections/Pods-PXGoogleDirections.release.xcconfig"; sourceTree = ""; }; + 7A083DD81D2D718F00B42940 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + 7A083DDA1D2D71D900B42940 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 7A083DDC1D2D723F00B42940 /* PXGoogleDirections.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirections.swift; sourceTree = ""; }; + 7A083DDD1D2D723F00B42940 /* PXGoogleDirectionsDistance.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsDistance.swift; sourceTree = ""; }; + 7A083DDE1D2D723F00B42940 /* PXGoogleDirectionsDuration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsDuration.swift; sourceTree = ""; }; + 7A083DDF1D2D723F00B42940 /* PXGoogleDirectionsEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsEnums.swift; sourceTree = ""; }; + 7A083DE01D2D723F00B42940 /* PXGoogleDirectionsResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsResponse.swift; sourceTree = ""; }; + 7A083DE11D2D723F00B42940 /* PXGoogleDirectionsRoute.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRoute.swift; sourceTree = ""; }; + 7A083DE21D2D723F00B42940 /* PXGoogleDirectionsRouteFare.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRouteFare.swift; sourceTree = ""; }; + 7A083DE31D2D723F00B42940 /* PXGoogleDirectionsRouteLeg.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRouteLeg.swift; sourceTree = ""; }; + 7A083DE41D2D723F00B42940 /* PXGoogleDirectionsRouteLegStep.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRouteLegStep.swift; sourceTree = ""; }; + 7A083DE51D2D723F00B42940 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsRouteLegStepTransitDetails.swift; sourceTree = ""; }; + 7A083DE61D2D723F00B42940 /* PXGoogleDirectionsStop.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsStop.swift; sourceTree = ""; }; + 7A083DE71D2D723F00B42940 /* PXGoogleDirectionsTime.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsTime.swift; sourceTree = ""; }; + 7A083DE81D2D723F00B42940 /* PXGoogleDirectionsTransitAgency.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsTransitAgency.swift; sourceTree = ""; }; + 7A083DE91D2D723F00B42940 /* PXGoogleDirectionsTransitLine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsTransitLine.swift; sourceTree = ""; }; + 7A083DEA1D2D723F00B42940 /* PXGoogleDirectionsTransitLineVehicle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXGoogleDirectionsTransitLineVehicle.swift; sourceTree = ""; }; + 7A083DEB1D2D723F00B42940 /* PXLocation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXLocation.swift; sourceTree = ""; }; + 7A083DEC1D2D723F00B42940 /* PXTime.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXTime.swift; sourceTree = ""; }; + 7A083DED1D2D723F00B42940 /* PXUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PXUtils.swift; sourceTree = ""; }; + 7A09854D1D2D71120095737F /* PXGoogleDirections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PXGoogleDirections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7A0985501D2D71120095737F /* PXGoogleDirections.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PXGoogleDirections.h; sourceTree = ""; }; + 7A0985521D2D71120095737F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8100287785EB5930FC9677CE /* Pods_PXGoogleDirections.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PXGoogleDirections.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 95ACA0ABED8E80D370DA7D3C /* Pods-PXGoogleDirections.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PXGoogleDirections.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PXGoogleDirections/Pods-PXGoogleDirections.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 7ACC22651AAC5BF600598142 /* Frameworks */ = { + 7A0985491D2D71120095737F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7ACA42DF1BA3380E00BD6516 /* Security.framework in Frameworks */, - 7ACA42DD1BA3380500BD6516 /* CoreBluetooth.framework in Frameworks */, - 7ACA42DB1BA3380000BD6516 /* Accelerate.framework in Frameworks */, - 7ACC22911AAC5D3700598142 /* AVFoundation.framework in Frameworks */, - 7ACC22921AAC5D3700598142 /* CoreData.framework in Frameworks */, - 7ACC22931AAC5D3700598142 /* CoreLocation.framework in Frameworks */, - 7ACC22941AAC5D3700598142 /* CoreText.framework in Frameworks */, - 7ACC22951AAC5D3700598142 /* GLKit.framework in Frameworks */, - 7ACC22961AAC5D3700598142 /* ImageIO.framework in Frameworks */, - 7ACC22971AAC5D3700598142 /* libc++.dylib in Frameworks */, - 7ACC22981AAC5D3700598142 /* libicucore.dylib in Frameworks */, - 7ACC22991AAC5D3700598142 /* libz.dylib in Frameworks */, - 7ACC229A1AAC5D3700598142 /* OpenGLES.framework in Frameworks */, - 7ACC229B1AAC5D3700598142 /* QuartzCore.framework in Frameworks */, - 7ACC229C1AAC5D3700598142 /* SystemConfiguration.framework in Frameworks */, - 7F0ADC536D6FE01A744A4E69 /* Pods.framework in Frameworks */, - 85C4D69131D2469298353926 /* Pods_PXGoogleDirections.framework in Frameworks */, + 7A083DDB1D2D71D900B42940 /* UIKit.framework in Frameworks */, + 7DCAADA0A9AB8FDB51F35531 /* Pods_PXGoogleDirections.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 449E21691F6FBEE987D47C1E /* Frameworks */ = { + 7A0985431D2D71120095737F = { isa = PBXGroup; children = ( - 7ACA42DE1BA3380E00BD6516 /* Security.framework */, - 7ACA42DC1BA3380500BD6516 /* CoreBluetooth.framework */, - 7ACA42DA1BA3380000BD6516 /* Accelerate.framework */, - 7ACC22851AAC5D3700598142 /* AVFoundation.framework */, - 7ACC22861AAC5D3700598142 /* CoreData.framework */, - 7ACC22871AAC5D3700598142 /* CoreLocation.framework */, - 7ACC22881AAC5D3700598142 /* CoreText.framework */, - 7ACC22891AAC5D3700598142 /* GLKit.framework */, - 7ACC228A1AAC5D3700598142 /* ImageIO.framework */, - 7ACC228B1AAC5D3700598142 /* libc++.dylib */, - 7ACC228C1AAC5D3700598142 /* libicucore.dylib */, - 7ACC228D1AAC5D3700598142 /* libz.dylib */, - 7ACC228E1AAC5D3700598142 /* OpenGLES.framework */, - 7ACC228F1AAC5D3700598142 /* QuartzCore.framework */, - 7ACC22901AAC5D3700598142 /* SystemConfiguration.framework */, - 59B683EB59F9DDD3EA79A643 /* Pods.framework */, - CFFC96502810B3F2E7A79A07 /* Pods_PXGoogleDirections.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 7ACC225F1AAC5BF600598142 = { - isa = PBXGroup; - children = ( - 7ACC226B1AAC5BF600598142 /* PXGoogleDirections */, - 7ACC226A1AAC5BF600598142 /* Products */, - 449E21691F6FBEE987D47C1E /* Frameworks */, - ECC1CC75B321523B71963240 /* Pods */, + 7A09854F1D2D71120095737F /* PXGoogleDirections */, + 7A09854E1D2D71120095737F /* Products */, + E316165D1ADC808BF5FC80B2 /* Pods */, + A4DEFDEF788BFD1D098ABAF1 /* Frameworks */, ); sourceTree = ""; }; - 7ACC226A1AAC5BF600598142 /* Products */ = { + 7A09854E1D2D71120095737F /* Products */ = { isa = PBXGroup; children = ( - 7ACC22691AAC5BF600598142 /* PXGoogleDirections.framework */, + 7A09854D1D2D71120095737F /* PXGoogleDirections.framework */, ); name = Products; sourceTree = ""; }; - 7ACC226B1AAC5BF600598142 /* PXGoogleDirections */ = { + 7A09854F1D2D71120095737F /* PXGoogleDirections */ = { isa = PBXGroup; children = ( - 7ACC22B71AAC5E7A00598142 /* PXGoogleDirections.swift */, - 7ACC22B81AAC5E7A00598142 /* PXGoogleDirectionsDistance.swift */, - 7ACC22B91AAC5E7A00598142 /* PXGoogleDirectionsDuration.swift */, - 7ACC22BA1AAC5E7A00598142 /* PXGoogleDirectionsEnums.swift */, - 7ACC22BB1AAC5E7A00598142 /* PXGoogleDirectionsResponse.swift */, - 7ACC22BC1AAC5E7A00598142 /* PXGoogleDirectionsRoute.swift */, - 7ACC22BD1AAC5E7A00598142 /* PXGoogleDirectionsRouteFare.swift */, - 7ACC22BE1AAC5E7A00598142 /* PXGoogleDirectionsRouteLeg.swift */, - 7ACC22BF1AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStep.swift */, - 7ACC22C01AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift */, - 7ACC22C11AAC5E7A00598142 /* PXGoogleDirectionsStop.swift */, - 7ACC22C21AAC5E7A00598142 /* PXGoogleDirectionsTime.swift */, - 7ACC22C31AAC5E7A00598142 /* PXGoogleDirectionsTransitAgency.swift */, - 7ACC22C41AAC5E7A00598142 /* PXGoogleDirectionsTransitLine.swift */, - 7ACC22C51AAC5E7A00598142 /* PXGoogleDirectionsTransitLineVehicle.swift */, - 7ACC22C61AAC5E7A00598142 /* PXLocation.swift */, - 7ACC22C71AAC5E7A00598142 /* PXTime.swift */, - 7ACC22C81AAC5E7A00598142 /* PXUtils.swift */, - 7ACC226E1AAC5BF600598142 /* PXGoogleDirections.h */, - 7ACC226C1AAC5BF600598142 /* Supporting Files */, + 7A083DDC1D2D723F00B42940 /* PXGoogleDirections.swift */, + 7A083DDD1D2D723F00B42940 /* PXGoogleDirectionsDistance.swift */, + 7A083DDE1D2D723F00B42940 /* PXGoogleDirectionsDuration.swift */, + 7A083DDF1D2D723F00B42940 /* PXGoogleDirectionsEnums.swift */, + 7A083DE01D2D723F00B42940 /* PXGoogleDirectionsResponse.swift */, + 7A083DE11D2D723F00B42940 /* PXGoogleDirectionsRoute.swift */, + 7A083DE21D2D723F00B42940 /* PXGoogleDirectionsRouteFare.swift */, + 7A083DE31D2D723F00B42940 /* PXGoogleDirectionsRouteLeg.swift */, + 7A083DE41D2D723F00B42940 /* PXGoogleDirectionsRouteLegStep.swift */, + 7A083DE51D2D723F00B42940 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift */, + 7A083DE61D2D723F00B42940 /* PXGoogleDirectionsStop.swift */, + 7A083DE71D2D723F00B42940 /* PXGoogleDirectionsTime.swift */, + 7A083DE81D2D723F00B42940 /* PXGoogleDirectionsTransitAgency.swift */, + 7A083DE91D2D723F00B42940 /* PXGoogleDirectionsTransitLine.swift */, + 7A083DEA1D2D723F00B42940 /* PXGoogleDirectionsTransitLineVehicle.swift */, + 7A083DEB1D2D723F00B42940 /* PXLocation.swift */, + 7A083DEC1D2D723F00B42940 /* PXTime.swift */, + 7A083DED1D2D723F00B42940 /* PXUtils.swift */, + 7A0985501D2D71120095737F /* PXGoogleDirections.h */, + 7A0985521D2D71120095737F /* Info.plist */, ); path = PXGoogleDirections; sourceTree = ""; }; - 7ACC226C1AAC5BF600598142 /* Supporting Files */ = { + A4DEFDEF788BFD1D098ABAF1 /* Frameworks */ = { isa = PBXGroup; children = ( - 7ACA42D81BA3361300BD6516 /* Podfile */, - 7A18671C1BA3358A0056BEB3 /* GoogleMaps.podspec.json */, - 7ACC22DB1AAC5ED900598142 /* PXGoogleDirections.podspec */, - 7ACC226D1AAC5BF600598142 /* Info.plist */, + 7A083DDA1D2D71D900B42940 /* UIKit.framework */, + 7A083DD81D2D718F00B42940 /* CoreText.framework */, + 8100287785EB5930FC9677CE /* Pods_PXGoogleDirections.framework */, ); - name = "Supporting Files"; + name = Frameworks; sourceTree = ""; }; - ECC1CC75B321523B71963240 /* Pods */ = { + E316165D1ADC808BF5FC80B2 /* Pods */ = { isa = PBXGroup; children = ( - EEF27D3D493675EF3313D6E1 /* Pods.debug.xcconfig */, - 73C7AB8F38C95682255A5286 /* Pods.release.xcconfig */, - 036D2F97502E8789D8940738 /* Pods-PXGoogleDirections.debug.xcconfig */, - 3EA174E0BF815FA9C8190EB6 /* Pods-PXGoogleDirections.release.xcconfig */, + 95ACA0ABED8E80D370DA7D3C /* Pods-PXGoogleDirections.debug.xcconfig */, + 40B3DE48E5D50B63C81FCFF7 /* Pods-PXGoogleDirections.release.xcconfig */, ); name = Pods; sourceTree = ""; @@ -215,27 +139,27 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 7ACC22661AAC5BF600598142 /* Headers */ = { + 7A09854A1D2D71120095737F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 7ACC226F1AAC5BF600598142 /* PXGoogleDirections.h in Headers */, + 7A0985511D2D71120095737F /* PXGoogleDirections.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 7ACC22681AAC5BF600598142 /* PXGoogleDirections */ = { + 7A09854C1D2D71120095737F /* PXGoogleDirections */ = { isa = PBXNativeTarget; - buildConfigurationList = 7ACC227F1AAC5BF600598142 /* Build configuration list for PBXNativeTarget "PXGoogleDirections" */; + buildConfigurationList = 7A0985551D2D71120095737F /* Build configuration list for PBXNativeTarget "PXGoogleDirections" */; buildPhases = ( - 927B7A73CE2340F3918F26F3 /* 📦 Check Pods Manifest.lock */, - 7ACC22641AAC5BF600598142 /* Sources */, - 7ACC22651AAC5BF600598142 /* Frameworks */, - 7ACC22661AAC5BF600598142 /* Headers */, - 7ACC22671AAC5BF600598142 /* Resources */, - C3DB67B542DBB82BDFC7A87F /* 📦 Copy Pods Resources */, + 906178DEA22C8602123CE3A5 /* [CP] Check Pods Manifest.lock */, + 7A0985481D2D71120095737F /* Sources */, + 7A0985491D2D71120095737F /* Frameworks */, + 7A09854A1D2D71120095737F /* Headers */, + 7A09854B1D2D71120095737F /* Resources */, + F662D553D8181D0747B983F6 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -243,45 +167,44 @@ ); name = PXGoogleDirections; productName = PXGoogleDirections; - productReference = 7ACC22691AAC5BF600598142 /* PXGoogleDirections.framework */; + productReference = 7A09854D1D2D71120095737F /* PXGoogleDirections.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 7ACC22601AAC5BF600598142 /* Project object */ = { + 7A0985441D2D71120095737F /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftMigration = 0700; - LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0700; - ORGANIZATIONNAME = Poulpix; + LastUpgradeCheck = 0810; + ORGANIZATIONNAME = RLT; TargetAttributes = { - 7ACC22681AAC5BF600598142 = { - CreatedOnToolsVersion = 6.3; + 7A09854C1D2D71120095737F = { + CreatedOnToolsVersion = 7.3.1; DevelopmentTeam = H4ZDL2CC7Y; + LastSwiftMigration = 0810; }; }; }; - buildConfigurationList = 7ACC22631AAC5BF600598142 /* Build configuration list for PBXProject "PXGoogleDirections" */; + buildConfigurationList = 7A0985471D2D71120095737F /* Build configuration list for PBXProject "PXGoogleDirections" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, ); - mainGroup = 7ACC225F1AAC5BF600598142; - productRefGroup = 7ACC226A1AAC5BF600598142 /* Products */; + mainGroup = 7A0985431D2D71120095737F; + productRefGroup = 7A09854E1D2D71120095737F /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 7ACC22681AAC5BF600598142 /* PXGoogleDirections */, + 7A09854C1D2D71120095737F /* PXGoogleDirections */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 7ACC22671AAC5BF600598142 /* Resources */ = { + 7A09854B1D2D71120095737F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -291,29 +214,29 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 927B7A73CE2340F3918F26F3 /* 📦 Check Pods Manifest.lock */ = { + 906178DEA22C8602123CE3A5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "📦 Check Pods Manifest.lock"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - C3DB67B542DBB82BDFC7A87F /* 📦 Copy Pods Resources */ = { + F662D553D8181D0747B983F6 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "📦 Copy Pods Resources"; + name = "[CP] Copy Pods Resources"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -324,38 +247,39 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 7ACC22641AAC5BF600598142 /* Sources */ = { + 7A0985481D2D71120095737F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7ACC22CF1AAC5E7A00598142 /* PXGoogleDirectionsRouteFare.swift in Sources */, - 7ACC22D71AAC5E7A00598142 /* PXGoogleDirectionsTransitLineVehicle.swift in Sources */, - 7ACC22D91AAC5E7A00598142 /* PXTime.swift in Sources */, - 7ACC22CE1AAC5E7A00598142 /* PXGoogleDirectionsRoute.swift in Sources */, - 7ACC22CB1AAC5E7A00598142 /* PXGoogleDirectionsDuration.swift in Sources */, - 7ACC22D21AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift in Sources */, - 7ACC22D31AAC5E7A00598142 /* PXGoogleDirectionsStop.swift in Sources */, - 7ACC22D11AAC5E7A00598142 /* PXGoogleDirectionsRouteLegStep.swift in Sources */, - 7ACC22D01AAC5E7A00598142 /* PXGoogleDirectionsRouteLeg.swift in Sources */, - 7ACC22CA1AAC5E7A00598142 /* PXGoogleDirectionsDistance.swift in Sources */, - 7ACC22CD1AAC5E7A00598142 /* PXGoogleDirectionsResponse.swift in Sources */, - 7ACC22CC1AAC5E7A00598142 /* PXGoogleDirectionsEnums.swift in Sources */, - 7ACC22DA1AAC5E7A00598142 /* PXUtils.swift in Sources */, - 7ACC22C91AAC5E7A00598142 /* PXGoogleDirections.swift in Sources */, - 7ACC22D61AAC5E7A00598142 /* PXGoogleDirectionsTransitLine.swift in Sources */, - 7ACC22D81AAC5E7A00598142 /* PXLocation.swift in Sources */, - 7ACC22D41AAC5E7A00598142 /* PXGoogleDirectionsTime.swift in Sources */, - 7ACC22D51AAC5E7A00598142 /* PXGoogleDirectionsTransitAgency.swift in Sources */, + 7A083DFB1D2D723F00B42940 /* PXGoogleDirectionsTransitLine.swift in Sources */, + 7A083DF21D2D723F00B42940 /* PXGoogleDirectionsResponse.swift in Sources */, + 7A083DEF1D2D723F00B42940 /* PXGoogleDirectionsDistance.swift in Sources */, + 7A083DFE1D2D723F00B42940 /* PXTime.swift in Sources */, + 7A083DF71D2D723F00B42940 /* PXGoogleDirectionsRouteLegStepTransitDetails.swift in Sources */, + 7A083DF31D2D723F00B42940 /* PXGoogleDirectionsRoute.swift in Sources */, + 7A083DF11D2D723F00B42940 /* PXGoogleDirectionsEnums.swift in Sources */, + 7A083DFC1D2D723F00B42940 /* PXGoogleDirectionsTransitLineVehicle.swift in Sources */, + 7A083DFA1D2D723F00B42940 /* PXGoogleDirectionsTransitAgency.swift in Sources */, + 7A083DFF1D2D723F00B42940 /* PXUtils.swift in Sources */, + 7A083DF41D2D723F00B42940 /* PXGoogleDirectionsRouteFare.swift in Sources */, + 7A083DF01D2D723F00B42940 /* PXGoogleDirectionsDuration.swift in Sources */, + 7A083DF51D2D723F00B42940 /* PXGoogleDirectionsRouteLeg.swift in Sources */, + 7A083DF61D2D723F00B42940 /* PXGoogleDirectionsRouteLegStep.swift in Sources */, + 7A083DFD1D2D723F00B42940 /* PXLocation.swift in Sources */, + 7A083DF81D2D723F00B42940 /* PXGoogleDirectionsStop.swift in Sources */, + 7A083DEE1D2D723F00B42940 /* PXGoogleDirections.swift in Sources */, + 7A083DF91D2D723F00B42940 /* PXGoogleDirectionsTime.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ - 7ACC227D1AAC5BF600598142 /* Debug */ = { + 7A0985531D2D71120095737F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -365,8 +289,10 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -377,19 +303,19 @@ ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 9.3; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -400,10 +326,11 @@ }; name = Debug; }; - 7ACC227E1AAC5BF600598142 /* Release */ = { + 7A0985541D2D71120095737F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -413,8 +340,10 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -424,15 +353,17 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 9.3; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -440,147 +371,69 @@ }; name = Release; }; - 7ACC22801AAC5BF600598142 /* Debug */ = { + 7A0985561D2D71120095737F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 036D2F97502E8789D8940738 /* Pods-PXGoogleDirections.debug.xcconfig */; + baseConfigurationReference = 95ACA0ABED8E80D370DA7D3C /* Pods-PXGoogleDirections.debug.xcconfig */; buildSettings = { - CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Dependencies", - ); INFOPLIST_FILE = PXGoogleDirections/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-l\"c++\"", - "-l\"icucore\"", - "-l\"z\"", - "-framework", - "\"AVFoundation\"", - "-framework", - "\"Accelerate\"", - "-framework", - "\"CoreBluetooth\"", - "-framework", - "\"CoreData\"", - "-framework", - "\"CoreGraphics\"", - "-framework", - "\"CoreLocation\"", - "-framework", - "\"CoreText\"", - "-framework", - "\"GLKit\"", - "-framework", - "\"GoogleMaps\"", - "-framework", - "\"ImageIO\"", - "-framework", - "\"OpenGLES\"", - "-framework", - "\"QuartzCore\"", - "-framework", - "\"Security\"", - "-framework", - "\"SystemConfiguration\"", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = "Poulpix.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = Poulpix.PXGoogleDirections; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; }; name = Debug; }; - 7ACC22811AAC5BF600598142 /* Release */ = { + 7A0985571D2D71120095737F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3EA174E0BF815FA9C8190EB6 /* Pods-PXGoogleDirections.release.xcconfig */; + baseConfigurationReference = 40B3DE48E5D50B63C81FCFF7 /* Pods-PXGoogleDirections.release.xcconfig */; buildSettings = { - CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Dependencies", - ); INFOPLIST_FILE = PXGoogleDirections/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-l\"c++\"", - "-l\"icucore\"", - "-l\"z\"", - "-framework", - "\"AVFoundation\"", - "-framework", - "\"Accelerate\"", - "-framework", - "\"CoreBluetooth\"", - "-framework", - "\"CoreData\"", - "-framework", - "\"CoreGraphics\"", - "-framework", - "\"CoreLocation\"", - "-framework", - "\"CoreText\"", - "-framework", - "\"GLKit\"", - "-framework", - "\"GoogleMaps\"", - "-framework", - "\"ImageIO\"", - "-framework", - "\"OpenGLES\"", - "-framework", - "\"QuartzCore\"", - "-framework", - "\"Security\"", - "-framework", - "\"SystemConfiguration\"", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = "Poulpix.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = Poulpix.PXGoogleDirections; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = ""; + SWIFT_VERSION = 3.0; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 7ACC22631AAC5BF600598142 /* Build configuration list for PBXProject "PXGoogleDirections" */ = { + 7A0985471D2D71120095737F /* Build configuration list for PBXProject "PXGoogleDirections" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7ACC227D1AAC5BF600598142 /* Debug */, - 7ACC227E1AAC5BF600598142 /* Release */, + 7A0985531D2D71120095737F /* Debug */, + 7A0985541D2D71120095737F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7ACC227F1AAC5BF600598142 /* Build configuration list for PBXNativeTarget "PXGoogleDirections" */ = { + 7A0985551D2D71120095737F /* Build configuration list for PBXNativeTarget "PXGoogleDirections" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7ACC22801AAC5BF600598142 /* Debug */, - 7ACC22811AAC5BF600598142 /* Release */, + 7A0985561D2D71120095737F /* Debug */, + 7A0985571D2D71120095737F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 7ACC22601AAC5BF600598142 /* Project object */; + rootObject = 7A0985441D2D71120095737F /* Project object */; } diff --git a/PXGoogleDirections/PXGoogleDirections.h b/PXGoogleDirections/PXGoogleDirections.h index 7d6cf10..23239e6 100644 --- a/PXGoogleDirections/PXGoogleDirections.h +++ b/PXGoogleDirections/PXGoogleDirections.h @@ -2,8 +2,8 @@ // PXGoogleDirections.h // PXGoogleDirections // -// Created by Romain on 08/03/2015. -// Copyright (c) 2015 Poulpix. All rights reserved. +// Created by Romain on 06/07/2016. +// Copyright © 2016 RLT. All rights reserved. // #import @@ -15,3 +15,5 @@ FOUNDATION_EXPORT double PXGoogleDirectionsVersionNumber; FOUNDATION_EXPORT const unsigned char PXGoogleDirectionsVersionString[]; // In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/PXGoogleDirections/PXGoogleDirections.swift b/PXGoogleDirections/PXGoogleDirections.swift index 05ceacd..fd3ddf4 100644 --- a/PXGoogleDirections/PXGoogleDirections.swift +++ b/PXGoogleDirections/PXGoogleDirections.swift @@ -19,35 +19,35 @@ import GoogleMaps - parameter requestURL: The URL that is going to be called - returns: `true` if the request should be sent, `false` otherwise */ - optional func googleDirectionsWillSendRequestToAPI(googleDirections: PXGoogleDirections, withURL requestURL: NSURL) -> Bool + @objc optional func googleDirectionsWillSendRequestToAPI(_ googleDirections: PXGoogleDirections, withURL requestURL: URL) -> Bool /** Notifies the delegate that an API request has been sent. - parameter googleDirections: The `PXGoogleDirections` object issuing the request - parameter requestURL: The URL that was called */ - optional func googleDirectionsDidSendRequestToAPI(googleDirections: PXGoogleDirections, withURL requestURL: NSURL) + @objc optional func googleDirectionsDidSendRequestToAPI(_ googleDirections: PXGoogleDirections, withURL requestURL: URL) /** Notifies the delegate that (yet unparsed) response data has been received from the API. - parameter googleDirections: The `PXGoogleDirections` object that issued the request - parameter data: An `NSData` object containing raw data received from the API */ - optional func googleDirections(googleDirections: PXGoogleDirections, didReceiveRawDataFromAPI data: NSData) + @objc optional func googleDirections(_ googleDirections: PXGoogleDirections, didReceiveRawDataFromAPI data: Data) /** Notifies the delegate that an error occurred while trying to handle the response received from the API. - parameter googleDirections: The `PXGoogleDirections` object that issued the request - parameter error: An `NSError` object describing the type and potential cause of the error */ - optional func googleDirectionsRequestDidFail(googleDirections: PXGoogleDirections, withError error: NSError) + @objc optional func googleDirectionsRequestDidFail(_ googleDirections: PXGoogleDirections, withError error: NSError) /** Notifies the delegate that a response has been successfully received and parsed from the API. - parameter googleDirections: The `PXGoogleDirections` object that issued the request - parameter apiResponse: A list of `PXGoogleDirectionsRoute` objects containing all relevant data received from the API */ - optional func googleDirections(googleDirections: PXGoogleDirections, didReceiveResponseFromAPI apiResponse: [PXGoogleDirectionsRoute]) + @objc optional func googleDirections(_ googleDirections: PXGoogleDirections, didReceiveResponseFromAPI apiResponse: [PXGoogleDirectionsRoute]) } // MARK: PXGoogleDirectionsSteppable protocol @@ -62,10 +62,10 @@ public class PXGoogleDirections: NSObject { // MARK: Private class variables and consants - private static let errorDomain = "PXGoogleDirectionsErrorDomain" - private static let _apiBaseURL = "https://maps.googleapis.com/maps/api/directions/json" - private static var _apiKey = "" - private static var apiKey: String { + fileprivate static let errorDomain = "PXGoogleDirectionsErrorDomain" + fileprivate static let _apiBaseURL = "https://maps.googleapis.com/maps/api/directions/json" + fileprivate static var _apiKey = "" + fileprivate static var apiKey: String { get { return _apiKey } @@ -81,7 +81,7 @@ public class PXGoogleDirections: NSObject { public static var apiBaseURL: String { return _apiBaseURL } /// Returns `true` if the Google Maps app is installed and can open places and directions URLs, `false` otherwise public static var canOpenInGoogleMaps: Bool { - return UIApplication.sharedApplication().canOpenURL(NSURL(string: "comgooglemaps://")!) && UIApplication.sharedApplication().canOpenURL(NSURL(string: "comgooglemaps-x-callback://")!) + return UIApplication.shared.canOpenURL(URL(string: "comgooglemaps://")!) && UIApplication.shared.canOpenURL(URL(string: "comgooglemaps-x-callback://")!) } // MARK: Instance variables @@ -106,6 +106,8 @@ public class PXGoogleDirections: NSObject { public var departureTime: PXTime? /// Specifies the desired time of arrival (for transit directions only) public var arrivalTime: PXTime? + /// Specifies the assumptions to use when calculating time in traffic + public var trafficModel: PXGoogleDirectionsTrafficModel? /// Specifies one or more preferred modes of transit public var transitModes = Set() /// Specifies preferences for transit routes @@ -122,9 +124,9 @@ public class PXGoogleDirections: NSObject { /** Tries to build an instance of `NSURL` pointing to the Google Directions API using the specified parameters, or `nil`. */ - public var directionsAPIRequestURL: NSURL? { + public var directionsAPIRequestURL: URL? { // Ensure both origin and destination are set - if let f = from, t = to { + if let f = from, let t = to { // Ensure there is actually something specified for both origin and destination addresses if !f.isSpecified() || !t.isSpecified() { return nil @@ -137,7 +139,7 @@ public class PXGoogleDirections: NSObject { } // Handle optional waypoints if waypoints.count > 0 { - let wp = waypoints.map({ $0.description }).joinWithSeparator("|") + let wp = waypoints.map({ $0.description }).joined(separator: "|") let opt = ((optimizeWaypoints ?? false) ? "optimize:true|" : "") preparedRequest += "&waypoints=\(opt)\(wp)" } @@ -148,7 +150,7 @@ public class PXGoogleDirections: NSObject { } // Handle request for features to avoid if featuresToAvoid.count > 0 { - let fta = featuresToAvoid.map({ $0.description }).joinWithSeparator("|") + let fta = featuresToAvoid.map({ $0.description }).joined(separator: "|") preparedRequest += "&avoid=\(fta)" } // Handle results language @@ -173,26 +175,32 @@ public class PXGoogleDirections: NSObject { // Can't set both departure_time and arrival_time return nil } - if mode == .Transit && at != .Now { + if mode == .transit && at != .now { preparedRequest += "&arrival_time=\(at)" } } + // Handle traffic model + if let tm = trafficModel { + if departureTime != nil && mode == .driving { + preparedRequest += "&traffic_model=\(tm)" + } + } // Handle public transit mode if transitModes.count > 0 { - if mode == .Transit { - let tm = transitModes.map({ $0.description }).joinWithSeparator("|") + if mode == .transit { + let tm = transitModes.map({ $0.description }).joined(separator: "|") preparedRequest += "&transit_mode=\(tm)" } } // Handle public transit routing preference if let trp = transitRoutingPreference { - if mode == .Transit { + if mode == .transit { preparedRequest += "&transit_routing_preference=\(trp)" } } // Try to build the suitable NSURL and return it - if let requestURL = preparedRequest.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()) { - return NSURL(string: requestURL) + if let requestURL = preparedRequest.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed) { + return URL(string: requestURL) } else { // Error while building NSURL return nil @@ -235,19 +243,19 @@ public class PXGoogleDirections: NSObject { - parameter completion: The completion block called when the request is done, or in case of any error */ - public func calculateDirections(completion: PXGoogleDirectionsRequestCompletionBlock) + public func calculateDirections(_ completion: @escaping PXGoogleDirectionsRequestCompletionBlock) { // Try to create a request URL using the supplied parameters if let requestURL = directionsAPIRequestURL { // Show network activity indicator - UIApplication.sharedApplication().networkActivityIndicatorVisible = true + UIApplication.shared.isNetworkActivityIndicatorVisible = true // Notify delegeate (if any) let runQuery = (delegate == nil ? true : (delegate!.googleDirectionsWillSendRequestToAPI?(self, withURL: requestURL) ?? true)) // Handle the case where the delegate might have askeed to cancel the request if runQuery { - NSURLSession.sharedSession().dataTaskWithURL(requestURL, completionHandler: { (data, response, error) -> Void in + URLSession.shared.dataTask(with: requestURL, completionHandler: { (data, response, error) -> Void in // Hide network activity indicator - UIApplication.sharedApplication().networkActivityIndicatorVisible = false + UIApplication.shared.isNetworkActivityIndicatorVisible = false // Notify delegate self.delegate?.googleDirections?(self, didReceiveRawDataFromAPI: data!) // Check for any error (from an NSURLSession point of view) @@ -255,7 +263,7 @@ public class PXGoogleDirections: NSObject { var response = [PXGoogleDirectionsRoute]() // Try to parse the received JSON data do { - if let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [String: AnyObject] { + if let json = try JSONSerialization.jsonObject(with: data!, options: []) as? [String: AnyObject] { // Try fo fetch the API response status code if let st = json["status"] as? String { let status = PXGoogleDirectionsError.errorFromStatus(st) @@ -264,7 +272,7 @@ public class PXGoogleDirections: NSObject { // API error received: notify delegate and call completion block (with error value) let err = self.prepareError(status) self.delegate?.googleDirectionsRequestDidFail?(self, withError: err) - completion(.Error(self, err)) + completion(.error(self, err)) return } else { // From here on: try to parse and process the received data @@ -289,12 +297,12 @@ public class PXGoogleDirections: NSObject { var northEastBound: CLLocationCoordinate2D? var southWestBound: CLLocationCoordinate2D? if let northeast = bounds["northeast"] as? [String: Double] { - if let neLat = northeast["lat"], neLng = northeast["lng"] { + if let neLat = northeast["lat"], let neLng = northeast["lng"] { northEastBound = CLLocationCoordinate2DMake(neLat, neLng) } } if let southwest = bounds["southwest"] as? [String: Double] { - if let swLat = southwest["lat"], swLng = southwest["lng"] { + if let swLat = southwest["lat"], let swLng = southwest["lng"] { southWestBound = CLLocationCoordinate2DMake(swLat, swLng) } } @@ -323,13 +331,13 @@ public class PXGoogleDirections: NSObject { // General leg information currentLeg.startAddress = l["start_address"] as? String if let startLocation = l["start_location"] as? [String: CLLocationDegrees] { - if let slLat = startLocation["lat"], slLng = startLocation["lng"] { + if let slLat = startLocation["lat"], let slLng = startLocation["lng"] { currentLeg.startLocation = CLLocationCoordinate2DMake(slLat, slLng) } } currentLeg.endAddress = l["end_address"] as? String if let endLocation = l["end_location"] as? [String: CLLocationDegrees] { - if let elLat = endLocation["lat"], elLng = endLocation["lng"] { + if let elLat = endLocation["lat"], let elLng = endLocation["lng"] { currentLeg.endLocation = CLLocationCoordinate2DMake(elLat, elLng) } } @@ -339,26 +347,26 @@ public class PXGoogleDirections: NSObject { } // Duration if let duration = l["duration"] as? [String: AnyObject] { - currentLeg.duration = PXGoogleDirectionsDuration(duration: duration["value"] as? NSTimeInterval, description: duration["text"] as? String) + currentLeg.duration = PXGoogleDirectionsDuration(duration: duration["value"] as? TimeInterval, description: duration["text"] as? String) } // Duration in traffic if let durationT = l["duration_in_traffic"] as? [String: AnyObject] { - if let dTText = durationT["text"] as? String, dTValue = durationT["value"] as? NSTimeInterval { + if let dTText = durationT["text"] as? String, let dTValue = durationT["value"] as? TimeInterval { currentLeg.durationInTraffic = PXGoogleDirectionsDuration(duration: dTValue, description: dTText) } } // Departure time if let departure = l["departure_time"] as? [String: AnyObject] { - currentLeg.departureTime = PXGoogleDirectionsTime(description: departure["text"] as? String, timeZone: nil, timestamp: departure["value"] as? NSTimeInterval) + currentLeg.departureTime = PXGoogleDirectionsTime(description: departure["text"] as? String, timeZone: nil, timestamp: departure["value"] as? TimeInterval) if let dTZ = departure["time_zone"] as? String { - currentLeg.arrivalTime?.timeZone = NSTimeZone(name: dTZ) + currentLeg.arrivalTime?.timeZone = TimeZone(identifier: dTZ) } } // Arrival time if let arrival = l["arrival_time"] as? [String: AnyObject] { - currentLeg.arrivalTime = PXGoogleDirectionsTime(description: arrival["text"] as? String, timeZone: nil, timestamp: arrival["value"] as? NSTimeInterval) + currentLeg.arrivalTime = PXGoogleDirectionsTime(description: arrival["text"] as? String, timeZone: nil, timestamp: arrival["value"] as? TimeInterval) if let aTZ = arrival["time_zone"] as? String { - currentLeg.arrivalTime?.timeZone = NSTimeZone(name: aTZ) + currentLeg.arrivalTime?.timeZone = TimeZone(identifier: aTZ) } } // Leg steps @@ -376,32 +384,32 @@ public class PXGoogleDirections: NSObject { } } else { // API response status code missing: notify delegate and call completion block (with error value) - let err = self.prepareError(.MissingStatusCode) + let err = self.prepareError(.missingStatusCode) self.delegate?.googleDirectionsRequestDidFail?(self, withError: err) - completion(.Error(self, err)) + completion(.error(self, err)) return } } else { // Unable to parse the API response: notify delegate and call completion block (with error value) - let err = self.prepareError(.BadJSONFormatting) + let err = self.prepareError(.badJSONFormatting) self.delegate?.googleDirectionsRequestDidFail?(self, withError: err) - completion(.Error(self, err)) + completion(.error(self, err)) return } } catch { return } // Everything went well up to this point: ready to forward results to delegate and callback - dispatch_async(dispatch_get_main_queue()) { + DispatchQueue.main.async { // Success: notify delegate and call completion block (with success value) self.delegate?.googleDirections?(self, didReceiveResponseFromAPI: response) - completion(.Success(self, response)) + completion(.success(self, response)) return } } else { // Generic NSURLSession error: notify delegate and call completion block (with error value) - self.delegate?.googleDirectionsRequestDidFail?(self, withError: error!) - completion(PXGoogleDirectionsResponse.Error(self, error!)) + self.delegate?.googleDirectionsRequestDidFail?(self, withError: error! as NSError) + completion(PXGoogleDirectionsResponse.error(self, error! as NSError)) return } }).resume() @@ -410,9 +418,9 @@ public class PXGoogleDirections: NSObject { } } else { // Unable to create an API URL with the supplied arguments: notify delegate and call completion block (with error value) - let err = prepareError(.BadAPIURL) + let err = prepareError(.badAPIURL) delegate?.googleDirectionsRequestDidFail?(self, withError: err) - completion(.Error(self, err)) + completion(.error(self, err)) return } } @@ -429,32 +437,32 @@ public class PXGoogleDirections: NSObject { - parameter fallbackToAppleMaps: `true` to fall back to Apple Maps in case Google Maps is not installed, `false` otherwise - returns: `true` if opening in the Google Maps is available, `false` otherwise */ - public func openInGoogleMaps(center center: CLLocationCoordinate2D?, mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?, callbackURL: NSURL?, callbackName: String?, fallbackToAppleMaps: Bool = true) -> Bool { + public func openInGoogleMaps(center: CLLocationCoordinate2D?, mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?, callbackURL: URL?, callbackName: String?, fallbackToAppleMaps: Bool = true) -> Bool { // Ensure both origin and destination are set - if let f = from, t = to { + if let f = from, let t = to { // Ensure there is actually something specified for both origin and destination addresses if f.isSpecified() && t.isSpecified() { // Prepare the base URL parameters with provided arguments var params = PXGoogleDirections.handleGoogleMapsURL(center: center, mapMode: mapMode, view: view, zoom: zoom) // Add origin and destination - params.append("saddr=\(f.description.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)") - params.append("daddr=\(t.description.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)") + params.append("saddr=\(f.description.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)") + params.append("daddr=\(t.description.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)") // Add optional method of transportation, if any if let m = mode { params.append("directionsmode=\(m)") } // Build the Google Maps URL and open it if let url = PXGoogleDirections.buildGoogleMapsURL(params: params, callbackURL: callbackURL, callbackName: callbackName) { - UIApplication.sharedApplication().openURL(url) + UIApplication.shared.openURL(url) return true } else { // Apply fallback strategy if fallbackToAppleMaps { var params = PXGoogleDirections.handleAppleMapsURL(center: center, mapMode: mapMode, view: view, zoom: zoom) - params.append("saddr=\(f.description.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)") - params.append("daddr=\(t.description.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)") - let p = (params.count > 0) ? "?" + params.joinWithSeparator("&") : "" - UIApplication.sharedApplication().openURL(NSURL(string: "https://maps.apple.com/\(p)")!) + params.append("saddr=\(f.description.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)") + params.append("daddr=\(t.description.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)") + let p = (params.count > 0) ? "?" + params.joined(separator: "&") : "" + UIApplication.shared.openURL(URL(string: "https://maps.apple.com/\(p)")!) return true } } @@ -465,11 +473,11 @@ public class PXGoogleDirections: NSObject { // MARK: Private functions - private func prepareError(code: PXGoogleDirectionsError) -> NSError { + fileprivate func prepareError(_ code: PXGoogleDirectionsError) -> NSError { return NSError(domain: PXGoogleDirections.errorDomain, code: code.rawValue, userInfo: [NSLocalizedDescriptionKey: code.description]) } - private func handleSteps(jsonData: [String: AnyObject]) -> [PXGoogleDirectionsRouteLegStep] { + fileprivate func handleSteps(_ jsonData: [String: AnyObject]) -> [PXGoogleDirectionsRouteLegStep] { var results = [PXGoogleDirectionsRouteLegStep]() if let steps = jsonData["steps"] as? [[String: AnyObject]] { for s in steps { @@ -477,12 +485,12 @@ public class PXGoogleDirections: NSObject { let currentStep = PXGoogleDirectionsRouteLegStep() // General step information if let startLocation = s["start_location"] as? [String: CLLocationDegrees] { - if let slLat = startLocation["lat"], slLng = startLocation["lng"] { + if let slLat = startLocation["lat"], let slLng = startLocation["lng"] { currentStep.startLocation = CLLocationCoordinate2DMake(slLat, slLng) } } if let endLocation = s["end_location"] as? [String: CLLocationDegrees] { - if let elLat = endLocation["lat"], elLng = endLocation["lng"] { + if let elLat = endLocation["lat"], let elLng = endLocation["lng"] { currentStep.endLocation = CLLocationCoordinate2DMake(elLat, elLng) } } @@ -495,7 +503,7 @@ public class PXGoogleDirections: NSObject { } // Duration if let duration = s["duration"] as? [String: AnyObject] { - currentStep.duration = PXGoogleDirectionsDuration(duration: duration["value"] as? NSTimeInterval, description: duration["text"] as? String) + currentStep.duration = PXGoogleDirectionsDuration(duration: duration["value"] as? TimeInterval, description: duration["text"] as? String) } // Polyline if let polyline = s["polyline"] as? [String: String] { @@ -506,36 +514,36 @@ public class PXGoogleDirections: NSObject { // General transit details information currentStep.transitDetails = PXGoogleDirectionsRouteLegStepTransitDetails() currentStep.transitDetails?.headsign = transitDetails["headsign"] as? String - currentStep.transitDetails?.headway = transitDetails["headway"] as? NSTimeInterval + currentStep.transitDetails?.headway = transitDetails["headway"] as? TimeInterval currentStep.transitDetails?.nbStops = transitDetails["num_stops"] as? UInt // Departure stop if let departureStop = transitDetails["departure_stop"] as? [String: AnyObject] { - if let dsName = departureStop["name"] as? String, dsLocation = departureStop["location"] as? [String: CLLocationDegrees] { - if let dslLat = dsLocation["lat"], dslLng = dsLocation["lng"] { + if let dsName = departureStop["name"] as? String, let dsLocation = departureStop["location"] as? [String: CLLocationDegrees] { + if let dslLat = dsLocation["lat"], let dslLng = dsLocation["lng"] { currentStep.transitDetails?.departureStop = PXGoogleDirectionsStop(description: dsName, location: CLLocationCoordinate2DMake(dslLat, dslLng)) } } } // Arrival stop if let arrivalStop = transitDetails["arrival_stop"] as? [String: AnyObject] { - if let asName = arrivalStop["name"] as? String, asLocation = arrivalStop["location"] as? [String: CLLocationDegrees] { - if let aslLat = asLocation["lat"], aslLng = asLocation["lng"] { + if let asName = arrivalStop["name"] as? String, let asLocation = arrivalStop["location"] as? [String: CLLocationDegrees] { + if let aslLat = asLocation["lat"], let aslLng = asLocation["lng"] { currentStep.transitDetails?.arrivalStop = PXGoogleDirectionsStop(description: asName, location: CLLocationCoordinate2DMake(aslLat, aslLng)) } } } // Departure time if let departure = transitDetails["departure_time"] as? [String: AnyObject] { - currentStep.transitDetails?.departureTime = PXGoogleDirectionsTime(description: departure["text"] as? String, timeZone: nil, timestamp: departure["value"] as? NSTimeInterval) + currentStep.transitDetails?.departureTime = PXGoogleDirectionsTime(description: departure["text"] as? String, timeZone: nil, timestamp: departure["value"] as? TimeInterval) if let dTZ = departure["time_zone"] as? String { - currentStep.transitDetails?.departureTime?.timeZone = NSTimeZone(name: dTZ) + currentStep.transitDetails?.departureTime?.timeZone = TimeZone(identifier: dTZ) } } // Arrival time if let arrival = transitDetails["arrival_time"] as? [String: AnyObject] { - currentStep.transitDetails?.arrivalTime = PXGoogleDirectionsTime(description: arrival["text"] as? String, timeZone: nil, timestamp: arrival["value"] as? NSTimeInterval) + currentStep.transitDetails?.arrivalTime = PXGoogleDirectionsTime(description: arrival["text"] as? String, timeZone: nil, timestamp: arrival["value"] as? TimeInterval) if let aTZ = arrival["time_zone"] as? String { - currentStep.transitDetails?.arrivalTime?.timeZone = NSTimeZone(name: aTZ) + currentStep.transitDetails?.arrivalTime?.timeZone = TimeZone(identifier: aTZ) } } // Line @@ -546,24 +554,24 @@ public class PXGoogleDirections: NSObject { currentStep.transitDetails?.line?.name = line["name"] as? String currentStep.transitDetails?.line?.shortName = line["short_name"] as? String currentStep.transitDetails?.line?.textColor = UIColor(hexColor: (line["text_color"] as? String) ?? "") - currentStep.transitDetails?.line?.url = NSURL(string: (line["url"] as? String) ?? "") + currentStep.transitDetails?.line?.url = URL(string: (line["url"] as? String) ?? "") // Icon - if let iconUrl = NSURL(string: (line["icon"] as? String) ?? "") { - if let data = NSData(contentsOfURL: iconUrl) { + if let iconUrl = URL(string: (line["icon"] as? String) ?? "") { + if let data = try? Data(contentsOf: iconUrl) { currentStep.transitDetails?.line?.icon = UIImage(data: data) } } // Agencies if let agencies = line["agencies"] as? [[String: String]] { for a in agencies { - currentStep.transitDetails?.line?.agencies.append(PXGoogleDirectionsTransitAgency(name: a["name"], url: NSURL(string: (a["url"] ?? "")), phone: a["phone"])) + currentStep.transitDetails?.line?.agencies.append(PXGoogleDirectionsTransitAgency(name: a["name"], url: URL(string: (a["url"] ?? "")), phone: a["phone"])) } } // Vehicle if let vehicle = line["vehicle"] as? [String: String] { - if let vName = vehicle["name"], vType = vehicle["type"], vIconURL = NSURL(string: vehicle["icon"] ?? "") { + if let vName = vehicle["name"], let vType = vehicle["type"], let vIconURL = URL(string: vehicle["icon"] ?? "") { currentStep.transitDetails?.line?.vehicle = PXGoogleDirectionsTransitLineVehicle(name: vName, type: PXGoogleDirectionsVehicleType.vehicleTypeFromValue(vType), icon: nil) - if let data = NSData(contentsOfURL: vIconURL) { + if let data = try? Data(contentsOf: vIconURL) { currentStep.transitDetails?.line?.vehicle?.icon = UIImage(data: data) } } @@ -581,7 +589,7 @@ public class PXGoogleDirections: NSObject { return results } - internal class func handleGoogleMapsURL(center center: CLLocationCoordinate2D?, mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?) -> [String] { + internal class func handleGoogleMapsURL(center: CLLocationCoordinate2D?, mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?) -> [String] { var params = [String]() if let loc = center { params.append("center=\(loc.latitude),\(loc.longitude)") @@ -591,7 +599,7 @@ public class PXGoogleDirections: NSObject { } if let v = view { if v.count > 0 { - let vcs = v.map({ $0.description }).joinWithSeparator(",") + let vcs = v.map({ $0.description }).joined(separator: ",") params.append("view=\(vcs)") } } @@ -601,21 +609,21 @@ public class PXGoogleDirections: NSObject { return params } - internal class func handleAppleMapsURL(center center: CLLocationCoordinate2D?, mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?) -> [String] { + internal class func handleAppleMapsURL(center: CLLocationCoordinate2D?, mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?) -> [String] { var params = [String]() if let loc = center { params.append("ll=\(loc.latitude),\(loc.longitude)") } var allowedToAddZAndT = true if let mm = mapMode { - if mm == .StreetView { + if mm == .streetView { params.append("z=19") params.append("t=k") allowedToAddZAndT = false } } if let v = view { - if v.contains(.Satellite) && allowedToAddZAndT { + if v.contains(.satellite) && allowedToAddZAndT { params.append("t=h") } } @@ -627,16 +635,16 @@ public class PXGoogleDirections: NSObject { return params } - internal class func buildGoogleMapsURL(params params: [String], callbackURL: NSURL?, callbackName: String?) -> NSURL? { + internal class func buildGoogleMapsURL(params: [String], callbackURL: URL?, callbackName: String?) -> URL? { var p = params if PXGoogleDirections.canOpenInGoogleMaps { var scheme = "comgooglemaps" - if let cbURL = callbackURL, cbn = callbackName { + if let cbURL = callbackURL, let cbn = callbackName { scheme = "comgooglemaps-x-callback" - p.append("x-success=\(cbURL.absoluteString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)") - p.append("x-source=\(cbn.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)") + p.append("x-success=\(cbURL.absoluteString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)") + p.append("x-source=\(cbn.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)") } - return NSURL(string: "\(scheme)://\((p.count > 0) ? "?" + p.joinWithSeparator("&") : "")")! + return URL(string: "\(scheme)://\((p.count > 0) ? "?" + p.joined(separator: "&") : "")")! } else { return nil } diff --git a/PXGoogleDirections/PXGoogleDirectionsDuration.swift b/PXGoogleDirections/PXGoogleDirectionsDuration.swift index 11022a6..a6d898a 100644 --- a/PXGoogleDirections/PXGoogleDirectionsDuration.swift +++ b/PXGoogleDirections/PXGoogleDirectionsDuration.swift @@ -11,7 +11,7 @@ import Foundation /// The total duration of a route leg public struct PXGoogleDirectionsDuration { /// The duration in seconds - public var duration: NSTimeInterval? + public var duration: TimeInterval? /// A human-readable representation of the duration public var description: String? } diff --git a/PXGoogleDirections/PXGoogleDirectionsEnums.swift b/PXGoogleDirections/PXGoogleDirectionsEnums.swift index 33c8dc6..88a6a7d 100644 --- a/PXGoogleDirections/PXGoogleDirectionsEnums.swift +++ b/PXGoogleDirections/PXGoogleDirectionsEnums.swift @@ -11,51 +11,51 @@ import Foundation /// Possible error codes in the Google Directions API public enum PXGoogleDirectionsError: Int { /// Indicates the response contains a valid result - case OK = 0 + case ok = 0 /// Indicates at least one of the locations specified in the request's origin, destination, or waypoints could not be geocoded - case NotFound + case notFound /// Indicates no route could be found between the origin and destination - case ZeroResults + case zeroResults /// Indicates that too many waypoints were provided in the request (the maximum allowed waypoints is 8, plus the origin, and destination) - case MaxWaypointsExceeded + case maxWaypointsExceeded /// Indicates that the provided request was invalid. Common causes of this status include an invalid parameter or parameter value - case InvalidRequest + case invalidRequest /// Indicates the service has received too many requests from this application within the allowed time period - case OverQueryLimit + case overQueryLimit /// Indicates that the service denied use of the directions service by this application - case RequestDenied + case requestDenied /// Indicates a directions request could not be processed due to a server error (may succeed with an other attempt) - case UnknownError + case unknownError /// Indicates the inability to generate a valid request URL - case BadAPIURL + case badAPIURL /// Indicates the inability to parse JSON data returned from the API - case BadJSONFormatting + case badJSONFormatting /// Indicates the response status code was unexpectedly missing from the JSON data - case MissingStatusCode + case missingStatusCode public var description: String { switch self { - case .OK: + case .ok: return "OK" - case .NotFound: + case .notFound: return "At least one of the locations specified in the request's origin, destination, or waypoints could not be geocoded" - case .ZeroResults: + case .zeroResults: return "No route could be found between the specified origin and destination" - case .MaxWaypointsExceeded: + case .maxWaypointsExceeded: return "Too many waypointss were provided in the request" - case .InvalidRequest: + case .invalidRequest: return "The provided request was invalid" - case .OverQueryLimit: + case .overQueryLimit: return "The service has received too many requests from this application within the allowed time period" - case .RequestDenied: + case .requestDenied: return "The service denied use of the directions service by this application" - case .UnknownError: + case .unknownError: return "The directions request could not be processed due to a server error" - case .BadAPIURL: + case .badAPIURL: return "Unable to build a suitable URL for API request" - case .BadJSONFormatting: + case .badJSONFormatting: return "Unable to parse JSON data returned from the API" - case .MissingStatusCode: + case .missingStatusCode: return "Response status code unexpectedly missing from the response payload" } } @@ -66,43 +66,43 @@ public enum PXGoogleDirectionsError: Int { - parameter status: The status code returned by the API - returns: The corresponding `PXGoogleDirectionsError` instance */ - static func errorFromStatus(status: String) -> PXGoogleDirectionsError { + static func errorFromStatus(_ status: String) -> PXGoogleDirectionsError { switch (status) { case "OK": - return .OK + return .ok case "NOT_FOUND": - return .NotFound + return .notFound case "ZERO_RESULTS": - return .ZeroResults + return .zeroResults case "MAX_WAYPOINTS_EXCEEDED": - return .MaxWaypointsExceeded + return .maxWaypointsExceeded case "INVALID_REQUEST": - return .InvalidRequest + return .invalidRequest case "OVER_QUERY_LIMIT": - return .OverQueryLimit + return .overQueryLimit case "REQUEST_DENIED": - return .RequestDenied + return .requestDenied case "UNKNOWN_ERROR": - return .UnknownError + return .unknownError default: - return .UnknownError + return .unknownError } } /// Returns `true` if this status code indicates an error during the API request process, or `false` otherwise - public var failed: Bool { return (self != .OK) } + public var failed: Bool { return (self != .ok) } } /// The mode of transport used when calculating directions public enum PXGoogleDirectionsMode: Int { /// Caclulate directions by car/automobile - case Driving = 0 + case driving = 0 /// Calculate directions by walk - case Walking + case walking /// Calculate directions by bicycle - case Bicycling + case bicycling /// Calculate directions with public transports - case Transit + case transit /** Returns an `PXGoogleDirectionsMode` object corresponding to the status code returned by the API for a specific response. @@ -110,16 +110,16 @@ public enum PXGoogleDirectionsMode: Int { - parameter label: The label returned by the API - returns: The corresponding `PXGoogleDirectionsMode` instance, or `nil` if no appropriate mode is found */ - public static func modeFromLabel(label: String) -> PXGoogleDirectionsMode? { + public static func modeFromLabel(_ label: String) -> PXGoogleDirectionsMode? { switch label { case "DRIVING": - return .Driving + return .driving case "WALKING": - return .Walking + return .walking case "BICYCLING": - return .Bicycling + return .bicycling case "TRANSIT": - return .Transit + return .transit default: return nil } @@ -129,36 +129,63 @@ public enum PXGoogleDirectionsMode: Int { extension PXGoogleDirectionsMode: CustomStringConvertible { public var description: String { switch self { - case .Driving: + case .driving: return "driving" - case .Walking: + case .walking: return "walking" - case .Bicycling: + case .bicycling: return "bicycling" - case .Transit: + case .transit: return "transit" } } } +/// The assumptions to use when calculating time in traffic +/// +/// This setting affects the value returned in the `durationInTraffic` field in the response, which contains the predicted time in traffic based on historical averages. The `trafficModel` parameter may only be specified for driving directions where the request includes a `departureTime`, and only if the request includes an API key or a Google Maps APIs Premium Plan client ID. +/// +/// The default value of `bestGuess` will give the most useful predictions for the vast majority of use cases. The `bestGuess` travel time prediction may be shorter than `optimistic`, or alternatively, longer than `pessimistic`, due to the way the `bestGuess` prediction model integrates live traffic information. +public enum PXGoogleDirectionsTrafficModel: Int { + /// Indicates that the returned `durationInTraffic` should be the best estimate of travel time given what is known about both historical traffic conditions and live traffic; live traffic becomes more important the closer the `departureTime` is to now + case bestGuess = 0 + /// Indicates that the returned `durationInTraffic` should be longer than the actual travel time on most days, though occasional days with particularly bad traffic conditions may exceed this value + case pessimistic + /// Indicates that the returned `durationInTraffic` should be shorter than the actual travel time on most days, though occasional days with particularly good traffic conditions may be faster than this value + case optimistic +} + +extension PXGoogleDirectionsTrafficModel: CustomStringConvertible { + public var description: String { + switch self { + case .bestGuess: + return "best_guess" + case .pessimistic: + return "pessimistic" + case .optimistic: + return "optimistic" + } + } +} + /// Features that should be avoided when calculating routes public enum PXGoogleDirectionsFeature: Int { /// The calculated route should avoid toll roads/bridges - case Tolls = 0 + case tolls = 0 /// The calculated route should avoid highways - case Highways + case highways /// The calculated route should avoid ferries - case Ferries + case ferries } extension PXGoogleDirectionsFeature: CustomStringConvertible { public var description: String { switch self { - case .Tolls: + case .tolls: return "tolls" - case .Highways: + case .highways: return "highways" - case .Ferries: + case .ferries: return "ferries" } } @@ -167,17 +194,17 @@ extension PXGoogleDirectionsFeature: CustomStringConvertible { /// The unit system to use when displaying results (by default, the texts are rendered using the unit system of the origin's country or region) public enum PXGoogleDirectionsUnit: Int { /// Use the metric system (textual distances are returned using kilometers and meters) - case Metric = 0 + case metric = 0 /// Use the imperial (English) system (textual distances are returned using kilometers and meters) - case Imperial + case imperial } extension PXGoogleDirectionsUnit: CustomStringConvertible { public var description: String { switch self { - case .Metric: + case .metric: return "metric" - case .Imperial: + case .imperial: return "imperial" } } @@ -186,29 +213,29 @@ extension PXGoogleDirectionsUnit: CustomStringConvertible { /// Preferred modes of transit (only valid for transit directions) public enum PXGoogleDirectionsTransitMode: Int { /// The calculated route should prefer travel by bus - case Bus = 0 + case bus = 0 /// The calculated route should prefer travel by subway - case Subway + case subway /// The calculated route should prefer travel by train - case Train + case train /// The calculated route should prefer travel by tram and light rail - case Tram + case tram /// The calculated route should prefer travel by train, tram, light rail, and subway (equivalent to `Train` + `Tram`+ `Subway`) - case Rail + case rail } extension PXGoogleDirectionsTransitMode: CustomStringConvertible { public var description: String { switch self { - case .Bus: + case .bus: return "bus" - case .Subway: + case .subway: return "subway" - case .Train: + case .train: return "train" - case .Tram: + case .tram: return "tram" - case .Rail: + case .rail: return "rail" } } @@ -217,17 +244,17 @@ extension PXGoogleDirectionsTransitMode: CustomStringConvertible { /// Preferences for transit routes only ; using this parameter, the options returned can be biased, rather than accepting the default best route chosen by the API public enum PXGoogleDirectionsTransitRoutingPreference: Int { /// Indicates that the calculated route should prefer limited amounts of walking - case LessWalking = 0 + case lessWalking = 0 /// Indicates that the calculated route should prefer a limited number of transfers - case FewerTransfers + case fewerTransfers } extension PXGoogleDirectionsTransitRoutingPreference: CustomStringConvertible { public var description: String { switch self { - case .LessWalking: + case .lessWalking: return "less_walking" - case .FewerTransfers: + case .fewerTransfers: return "fewer_transfers" } } @@ -236,39 +263,39 @@ extension PXGoogleDirectionsTransitRoutingPreference: CustomStringConvertible { /// Type of vehicles that run on transit lines public enum PXGoogleDirectionsVehicleType: Int { /// Rail - case Rail = 0 + case rail = 0 /// Light rail transit - case MetroRail + case metroRail /// Underground light rail - case Subway + case subway /// Above ground light rail - case Tram + case tram /// Monorail - case Monorail + case monorail /// Heavy rail - case HeavyRail + case heavyRail /// Commuter rail - case CommuterTrain + case commuterTrain /// High speed train - case HighSpeedTrain + case highSpeedTrain /// Bus - case Bus + case bus /// Intercity bus - case IntercityBus + case intercityBus /// Trolleybys - case Trolleybus + case trolleybus /// Share taxi is a kind of bus with the ability to drop off and pick up passengers anywhere on its route - case ShareTaxi + case shareTaxi /// Ferry - case Ferry + case ferry /// A vehicle that operates on a cable, usually on the ground (aerial cable cars may be of the type `GondolaLift`) - case CableCar + case cableCar /// An aerial cable car - case GondolaLift + case gondolaLift /// A vehicle that is pulled up a steep incline by a cable ; a funicular typically consists of two cars, with each car acting as a counterweight for the other - case Funicular + case funicular /// All other vehicles will return this type - case Other + case other /** Returns an `PXGoogleDirectionsVehicleType` object corresponding to the vehicle type returned by the API for a specific line. @@ -276,44 +303,44 @@ public enum PXGoogleDirectionsVehicleType: Int { - parameter value: The vehicle type code returned by the API - returns: The corresponding `PXGoogleDirectionsVehicleType` instance */ - public static func vehicleTypeFromValue(value: String) -> PXGoogleDirectionsVehicleType { + public static func vehicleTypeFromValue(_ value: String) -> PXGoogleDirectionsVehicleType { switch value { case "RAIL": - return .Rail + return .rail case "METRO_RAIL": - return .MetroRail + return .metroRail case "SUBWAY": - return .Subway + return .subway case "TRAM": - return .Tram + return .tram case "MONORAIL": - return .Monorail + return .monorail case "HEAVY_RAIL": - return .HeavyRail + return .heavyRail case "COMMUTER_TRAIN": - return .CommuterTrain + return .commuterTrain case "HIGH_SPEED_TRAIN": - return .HighSpeedTrain + return .highSpeedTrain case "BUS": - return .Bus + return .bus case "INTERCITY_BUS": - return .IntercityBus + return .intercityBus case "TROLLEYBUS": - return .Trolleybus + return .trolleybus case "SHARE_TAXI": - return .ShareTaxi + return .shareTaxi case "FERRY": - return .Ferry + return .ferry case "CABLE_CAR": - return .CableCar + return .cableCar case "GONDOLA_LIFT": - return .GondolaLift + return .gondolaLift case "FUNICULAR": - return .Funicular + return .funicular case "OTHER": - return .Other + return .other default: - return .Other + return .other } } } @@ -321,17 +348,17 @@ public enum PXGoogleDirectionsVehicleType: Int { /// Kind of map shown when opening a location or direction in the Google Maps app public enum PXGoogleMapsMode: Int { /// Standard map view - case Standard = 0 + case standard = 0 /// Google Street View mode - case StreetView + case streetView } extension PXGoogleMapsMode: CustomStringConvertible { public var description: String { switch self { - case .Standard: + case .standard: return "standard" - case .StreetView: + case .streetView: return "streetview" } } @@ -340,21 +367,21 @@ extension PXGoogleMapsMode: CustomStringConvertible { /// Turns specific views on or off, like satellite, traffic or transit public enum PXGoogleMapsView: Int { /// Turns satellite view on - case Satellite = 0 + case satellite = 0 /// Turns traffic view on - case Traffic + case traffic /// Turns transit view on - case Transit + case transit } extension PXGoogleMapsView: CustomStringConvertible { public var description: String { switch self { - case .Satellite: + case .satellite: return "satellite" - case .Traffic: + case .traffic: return "traffic" - case .Transit: + case .transit: return "transit" } } diff --git a/PXGoogleDirections/PXGoogleDirectionsResponse.swift b/PXGoogleDirections/PXGoogleDirectionsResponse.swift index 15ab974..2260c0a 100644 --- a/PXGoogleDirections/PXGoogleDirectionsResponse.swift +++ b/PXGoogleDirections/PXGoogleDirectionsResponse.swift @@ -11,14 +11,14 @@ import Foundation /// An enum describing response from the Google Directions API. public enum PXGoogleDirectionsResponse { /// When the API request succeeds, this enum case contains all data fetched from the Google Directions API - case Success(PXGoogleDirections, [PXGoogleDirectionsRoute]) + case success(PXGoogleDirections, [PXGoogleDirectionsRoute]) /// In case of an API request error, the additionnal parameter will contain the reason of the error - case Error(PXGoogleDirections, NSError) + case error(PXGoogleDirections, NSError) /// Returns `true` if this response indicates an error during the API request process, or `false` otherwise public var failed: Bool { switch self { - case .Error(_, _): + case .error(_, _): return true default: return false diff --git a/PXGoogleDirections/PXGoogleDirectionsRoute.swift b/PXGoogleDirections/PXGoogleDirectionsRoute.swift index 8376777..36c3348 100644 --- a/PXGoogleDirections/PXGoogleDirectionsRoute.swift +++ b/PXGoogleDirections/PXGoogleDirectionsRoute.swift @@ -35,12 +35,32 @@ public class PXGoogleDirectionsRoute: NSObject { return nil } } + /// Returns a detailed `GMSPath` object built from the legs and steps composing the route + public var detailedPath: GMSPath? { + let dp = GMSMutablePath() + for l in legs { + for s in l.steps { + if let sl = s.startLocation { + dp.add(sl) + } + if let spl = s.polyline, let subpath = GMSPath(fromEncodedPath: spl) { + for i in 0 ..< subpath.count() { + dp.add(subpath.coordinate(at: i)) + } + } + if let el = s.endLocation { + dp.add(el) + } + } + } + return (dp.count() > 0 ? dp : path) + } /// Returns the route's total duration, in seconds - public var totalDuration: NSTimeInterval { + public var totalDuration: TimeInterval { get { - var td = 0 as NSTimeInterval + var td = 0 as TimeInterval for l in legs { - guard let ld = l.duration, d = ld.duration else { + guard let ld = l.duration, let d = ld.duration else { break } td += d @@ -53,7 +73,7 @@ public class PXGoogleDirectionsRoute: NSObject { get { var td = 0 as CLLocationDistance for l in legs { - guard let ld = l.distance, d = ld.distance else { + guard let ld = l.distance, let d = ld.distance else { break } td += d @@ -69,28 +89,14 @@ public class PXGoogleDirectionsRoute: NSObject { - parameter approximate: `true` if the route should be drawn using rough directions, `false` otherwise ; `false` by default but has a performance impact - parameter strokeColor: The optional route stroke color - parameter strokeWidth: The optional route stroke width - - returns: The resulting `GMSPolyline` objects that were drawn to the map + - returns: The resulting `GMSPolyline` object that was drawn to the map */ - public func drawOnMap(map: GMSMapView, approximate: Bool = false, strokeColor: UIColor = UIColor.redColor(), strokeWidth: Float = 2.0) -> [GMSPolyline] { - var polylines = [GMSPolyline]() - if approximate { - let polyline = GMSPolyline(path: path) - polyline.strokeColor = strokeColor - polyline.strokeWidth = CGFloat(strokeWidth) - polyline.map = map - polylines.append(polyline) - } else { - for l in legs { - for s in l.steps { - let polyline = GMSPolyline(path: s.path) - polyline.strokeColor = strokeColor - polyline.strokeWidth = CGFloat(strokeWidth) - polyline.map = map - polylines.append(polyline) - } - } - } - return polylines + @discardableResult public func drawOnMap(_ map: GMSMapView, approximate: Bool = false, strokeColor: UIColor = UIColor.red, strokeWidth: Float = 2.0) -> GMSPolyline { + let polyline = GMSPolyline(path: (approximate ? path : detailedPath)) + polyline.strokeColor = strokeColor + polyline.strokeWidth = CGFloat(strokeWidth) + polyline.map = map + return polyline } /** @@ -103,11 +109,11 @@ public class PXGoogleDirectionsRoute: NSObject { - parameter flat: An optional indicator to flatten the marker - returns: The resulting `GMSMarker` object that was drawn to the map */ - public func drawOriginMarkerOnMap(map: GMSMapView, title: String = "", color: UIColor = UIColor.redColor(), opacity: Float = 1.0, flat: Bool = false) -> GMSMarker? { + @discardableResult public func drawOriginMarkerOnMap(_ map: GMSMapView, title: String = "", color: UIColor = UIColor.red, opacity: Float = 1.0, flat: Bool = false) -> GMSMarker? { var marker: GMSMarker? if let p = path { if p.count() > 1 { - marker = drawMarkerWithCoordinates(p.coordinateAtIndex(0), onMap: map, title: title, color: color, opacity: opacity, flat: flat) + marker = drawMarkerWithCoordinates(p.coordinate(at: 0), onMap: map, title: title, color: color, opacity: opacity, flat: flat) } } return marker @@ -123,11 +129,11 @@ public class PXGoogleDirectionsRoute: NSObject { - parameter flat: An optional indicator to flatten the marker - returns: The resulting `GMSMarker` object that was drawn to the map */ - public func drawDestinationMarkerOnMap(map: GMSMapView, title: String = "", color: UIColor = UIColor.redColor(), opacity: Float = 1.0, flat: Bool = false) -> GMSMarker? { + @discardableResult public func drawDestinationMarkerOnMap(_ map: GMSMapView, title: String = "", color: UIColor = UIColor.red, opacity: Float = 1.0, flat: Bool = false) -> GMSMarker? { var marker: GMSMarker? if let p = path { if p.count() > 1 { - marker = drawMarkerWithCoordinates(p.coordinateAtIndex(p.count() - 1), onMap: map, title: title, color: color, opacity: opacity, flat: flat) + marker = drawMarkerWithCoordinates(p.coordinate(at: p.count() - 1), onMap: map, title: title, color: color, opacity: opacity, flat: flat) } } return marker @@ -135,12 +141,12 @@ public class PXGoogleDirectionsRoute: NSObject { // MARK: Private functions - private func drawMarkerWithCoordinates(coordinates: CLLocationCoordinate2D, onMap map: GMSMapView, title: String = "", color: UIColor = UIColor.redColor(), opacity: Float = 1.0, flat: Bool = false) -> GMSMarker { + fileprivate func drawMarkerWithCoordinates(_ coordinates: CLLocationCoordinate2D, onMap map: GMSMapView, title: String = "", color: UIColor = UIColor.red, opacity: Float = 1.0, flat: Bool = false) -> GMSMarker { let marker = GMSMarker(position: coordinates) marker.title = title - marker.icon = GMSMarker.markerImageWithColor(color) + marker.icon = GMSMarker.markerImage(with: color) marker.opacity = opacity - marker.flat = flat + marker.isFlat = flat marker.map = map return marker } diff --git a/PXGoogleDirections/PXGoogleDirectionsRouteLeg.swift b/PXGoogleDirections/PXGoogleDirectionsRouteLeg.swift index e94fa5f..f2ab646 100644 --- a/PXGoogleDirections/PXGoogleDirectionsRouteLeg.swift +++ b/PXGoogleDirections/PXGoogleDirectionsRouteLeg.swift @@ -8,6 +8,7 @@ import Foundation import CoreLocation +import GoogleMaps /// A single leg of the journey from the origin to the destination in the calculated route. public struct PXGoogleDirectionsRouteLeg: PXGoogleDirectionsSteppable { @@ -31,4 +32,22 @@ public struct PXGoogleDirectionsRouteLeg: PXGoogleDirectionsSteppable { public var startAddress: String? /// Human-readable address (typically a street address) reflecting the `endLocation` of this leg public var endAddress: String? + /// Returns a detailed `GMSPath` object built from the legs and steps composing the route + public var detailedPath: GMSPath? { + let dp = GMSMutablePath() + for s in steps { + if let sl = s.startLocation { + dp.add(sl) + } + if let spl = s.polyline, let subpath = GMSPath(fromEncodedPath: spl) { + for i in 0 ..< subpath.count() { + dp.add(subpath.coordinate(at: i)) + } + } + if let el = s.endLocation { + dp.add(el) + } + } + return (dp.count() > 0 ? dp : nil) + } } diff --git a/PXGoogleDirections/PXGoogleDirectionsRouteLegStep.swift b/PXGoogleDirections/PXGoogleDirectionsRouteLegStep.swift index 65a6078..ec319cd 100644 --- a/PXGoogleDirections/PXGoogleDirectionsRouteLegStep.swift +++ b/PXGoogleDirections/PXGoogleDirectionsRouteLegStep.swift @@ -52,8 +52,8 @@ public class PXGoogleDirectionsRouteLegStep: NSObject, PXGoogleDirectionsSteppab public var rawInstructions: String? { var result = htmlInstructions if result != nil { - while let r = result!.rangeOfString("<[^>]+>", options: .RegularExpressionSearch) { - result = result!.stringByReplacingCharactersInRange(r, withString: "") + while let r = result!.range(of: "<[^>]+>", options: .regularExpression) { + result = result!.replacingCharacters(in: r, with: "") } } return result diff --git a/PXGoogleDirections/PXGoogleDirectionsRouteLegStepTransitDetails.swift b/PXGoogleDirections/PXGoogleDirectionsRouteLegStepTransitDetails.swift index b1c28b9..f0dc2c5 100644 --- a/PXGoogleDirections/PXGoogleDirectionsRouteLegStepTransitDetails.swift +++ b/PXGoogleDirections/PXGoogleDirectionsRouteLegStepTransitDetails.swift @@ -21,7 +21,7 @@ public struct PXGoogleDirectionsRouteLegStepTransitDetails { /// Direction in which to travel on this line, as it is marked on the vehicle or at the departure stop (will often be the terminus station) public var headsign: String? /// Expected number of seconds between departures from the same stop at this time (with a headway value of 600, a ten minute wait would be expected for someone missing his bus) - public var headway: NSTimeInterval? + public var headway: TimeInterval? /// Number of stops in this step, counting the arrival stop, but not the departure stop (leaving from stop A, passing through stops B and C, and arriving at stop D, `nbStops` will return 3) public var nbStops: UInt? /// Information about the transit line used in this step diff --git a/PXGoogleDirections/PXGoogleDirectionsTime.swift b/PXGoogleDirections/PXGoogleDirectionsTime.swift index 14d8c23..d7a990d 100644 --- a/PXGoogleDirections/PXGoogleDirectionsTime.swift +++ b/PXGoogleDirections/PXGoogleDirectionsTime.swift @@ -13,13 +13,13 @@ public struct PXGoogleDirectionsTime { /// The time specified as a string (displayed in the time zone of the transit stop) public var description: String? /// The time zone of this station - public var timeZone: NSTimeZone? + public var timeZone: TimeZone? /// The time specified as a timestamp - public var timestamp: NSTimeInterval? + public var timestamp: TimeInterval? /// The time as a regular `NSDate` object - public var date: NSDate? { + public var date: Date? { if let ts = timestamp { - return NSDate(timeIntervalSince1970: ts) + return Date(timeIntervalSince1970: ts) } else { return nil } diff --git a/PXGoogleDirections/PXGoogleDirectionsTransitAgency.swift b/PXGoogleDirections/PXGoogleDirectionsTransitAgency.swift index b2cf56e..921524d 100644 --- a/PXGoogleDirections/PXGoogleDirectionsTransitAgency.swift +++ b/PXGoogleDirections/PXGoogleDirectionsTransitAgency.swift @@ -13,7 +13,7 @@ public struct PXGoogleDirectionsTransitAgency { /// The name of the transit agency public var name: String? /// The URL for the transit agency - public var url: NSURL? + public var url: URL? /// The phone number of the transit agency public var phone: String? } diff --git a/PXGoogleDirections/PXGoogleDirectionsTransitLine.swift b/PXGoogleDirections/PXGoogleDirectionsTransitLine.swift index a4cda2d..498e7e6 100644 --- a/PXGoogleDirections/PXGoogleDirectionsTransitLine.swift +++ b/PXGoogleDirections/PXGoogleDirectionsTransitLine.swift @@ -19,7 +19,7 @@ public struct PXGoogleDirectionsTransitLine { /// An array of `PXGoogleDirectionsTransitAgency` objects that each provide information about the operator of the line public var agencies: [PXGoogleDirectionsTransitAgency] = [PXGoogleDirectionsTransitAgency]() /// The URL for this transit line as provided by the transit agency - public var url: NSURL? + public var url: URL? /// The icon associated with this line public var icon: UIImage? /// The color of text commonly used for signage of this line diff --git a/PXGoogleDirections/PXLocation.swift b/PXGoogleDirections/PXLocation.swift index e2c4fbf..0275169 100644 --- a/PXGoogleDirections/PXLocation.swift +++ b/PXGoogleDirections/PXLocation.swift @@ -12,15 +12,15 @@ import CoreLocation /// Specifies a location, either by coordinates or by name public enum PXLocation { /// Specifies a location by latitude and longitude coordinates - case CoordinateLocation(CLLocationCoordinate2D) + case coordinateLocation(CLLocationCoordinate2D) /// Specifies a location by name, city and/or country - case SpecificLocation(String?, String?, String?) + case specificLocation(String?, String?, String?) /// Specifies a location by a single string address - case NamedLocation(String) + case namedLocation(String) - private var centerCoordinate: CLLocationCoordinate2D? { + fileprivate var centerCoordinate: CLLocationCoordinate2D? { switch self { - case let .CoordinateLocation(loc): + case let .coordinateLocation(loc): return loc default: return nil @@ -34,10 +34,10 @@ public enum PXLocation { */ public func isSpecified() -> Bool { switch self { - case let .SpecificLocation(address, city, country): + case let .specificLocation(address, city, country): return (address ?? "").characters.count > 0 || (city ?? "").characters.count > 0 || (country ?? "").characters.count > 0 - case let .NamedLocation(address): - return address.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).characters.count > 0 + case let .namedLocation(address): + return address.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).characters.count > 0 default: return true } @@ -54,19 +54,19 @@ public enum PXLocation { - parameter fallbackToAppleMaps: `true` to fall back to Apple Maps in case Google Maps is not installed, `false` otherwise - returns: `true` if opening in the Google Maps is available, `false` otherwise */ - public func openInGoogleMaps(mapMode mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?, callbackURL: NSURL?, callbackName: String?, fallbackToAppleMaps: Bool = true) -> Bool { + public func openInGoogleMaps(mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?, callbackURL: URL?, callbackName: String?, fallbackToAppleMaps: Bool = true) -> Bool { // Prepare the base URL parameters with provided arguments let params = PXGoogleDirections.handleGoogleMapsURL(center: centerCoordinate, mapMode: mapMode, view: view, zoom: zoom) // Build the Google Maps URL and open it if let url = PXGoogleDirections.buildGoogleMapsURL(params: params, callbackURL: callbackURL, callbackName: callbackName) { - UIApplication.sharedApplication().openURL(url) + UIApplication.shared.openURL(url) return true } else { // Apply fallback strategy if fallbackToAppleMaps { let params = PXGoogleDirections.handleAppleMapsURL(center: centerCoordinate, mapMode: mapMode, view: view, zoom: zoom) - let p = (params.count > 0) ? "?" + params.joinWithSeparator("&") : "" - UIApplication.sharedApplication().openURL(NSURL(string: "https://maps.apple.com/\(p)")!) + let p = (params.count > 0) ? "?" + params.joined(separator: "&") : "" + UIApplication.shared.openURL(URL(string: "https://maps.apple.com/\(p)")!) return true } } @@ -85,22 +85,22 @@ public enum PXLocation { - parameter fallbackToAppleMaps: `true` to fall back to Apple Maps in case Google Maps is not installed, `false` otherwise - returns: `true` if opening in the Google Maps is available, `false` otherwise */ - public func searchInGoogleMaps(query: String, mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?, callbackURL: NSURL?, callbackName: String?, fallbackToAppleMaps: Bool = true) -> Bool { + public func searchInGoogleMaps(_ query: String, mapMode: PXGoogleMapsMode?, view: Set?, zoom: UInt?, callbackURL: URL?, callbackName: String?, fallbackToAppleMaps: Bool = true) -> Bool { // Prepare the base URL parameters with provided arguments var params = PXGoogleDirections.handleGoogleMapsURL(center: centerCoordinate, mapMode: mapMode, view: view, zoom: zoom) // Add the query string - params.append("q=\(query.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)") + params.append("q=\(query.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)") // Build the Google Maps URL and open it if let url = PXGoogleDirections.buildGoogleMapsURL(params: params, callbackURL: callbackURL, callbackName: callbackName) { - UIApplication.sharedApplication().openURL(url) + UIApplication.shared.openURL(url) return true } else { // Apply fallback strategy if fallbackToAppleMaps { var params = PXGoogleDirections.handleAppleMapsURL(center: centerCoordinate, mapMode: mapMode, view: view, zoom: zoom) - params.append("q=\(query.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)") - let p = (params.count > 0) ? "?" + params.joinWithSeparator("&") : "" - UIApplication.sharedApplication().openURL(NSURL(string: "https://maps.apple.com/\(p)")!) + params.append("q=\(query.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)") + let p = (params.count > 0) ? "?" + params.joined(separator: "&") : "" + UIApplication.shared.openURL(URL(string: "https://maps.apple.com/\(p)")!) return true } } @@ -111,23 +111,23 @@ public enum PXLocation { extension PXLocation: CustomStringConvertible { public var description: String { switch (self) { - case let .CoordinateLocation(coords): + case let .coordinateLocation(coords): return "\(coords.latitude),\(coords.longitude)" - case let .SpecificLocation(name, city, country): + case let .specificLocation(name, city, country): var locationFullName = "" if let n = name { locationFullName = n } if let c = city { - let separator = (locationFullName.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) > 0) ? "," : "" + let separator = (locationFullName.lengthOfBytes(using: String.Encoding.utf8) > 0) ? "," : "" locationFullName += "\(separator)\(c)" } if let c = country { - let separator = (locationFullName.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) > 0) ? "," : "" + let separator = (locationFullName.lengthOfBytes(using: String.Encoding.utf8) > 0) ? "," : "" locationFullName += "\(separator)\(c)" } return locationFullName - case let .NamedLocation(address): + case let .namedLocation(address): return address } } diff --git a/PXGoogleDirections/PXTime.swift b/PXGoogleDirections/PXTime.swift index f7d5a4b..3b5698d 100644 --- a/PXGoogleDirections/PXTime.swift +++ b/PXGoogleDirections/PXTime.swift @@ -11,9 +11,9 @@ import Foundation /// Specifies a departure or arrival time, either "now", or at a specific timestamp public enum PXTime { /// Indicates a departure time to the current time (correct to the nearest second) - case Now + case now /// Departure or arrival time, in seconds since midnight, January 1, 1970 UTC - case Timestamp(NSTimeInterval) + case timestamp(TimeInterval) /** Creates an `PXTime` instance suitable for a departure or arrival time in a Google Directions API request. @@ -21,17 +21,17 @@ public enum PXTime { - parameter date: An `NSDate` to be used as a departure or arrival time - returns: the `PXTime` to be used directly in a Google Directions API request */ - public static func timeFromDate(date: NSDate) -> PXTime { - return .Timestamp(date.timeIntervalSince1970) + public static func timeFromDate(_ date: Date) -> PXTime { + return .timestamp(date.timeIntervalSince1970) } } extension PXTime: CustomStringConvertible { public var description: String { switch (self) { - case .Now: + case .now: return "now" - case let .Timestamp(timestamp): + case let .timestamp(timestamp): return "\(UInt(timestamp))" } } @@ -42,9 +42,9 @@ extension PXTime: Equatable { public func ==(lhs: PXTime, rhs: PXTime) -> Bool { switch (lhs, rhs) { - case (.Now, .Now): + case (.now, .now): return true - case (.Timestamp(let ts1), .Timestamp(let ts2)): + case (.timestamp(let ts1), .timestamp(let ts2)): return ts1 == ts2 default: return false diff --git a/PXGoogleDirections/PXUtils.swift b/PXGoogleDirections/PXUtils.swift index 6f7e0de..cbbcb8b 100644 --- a/PXGoogleDirections/PXUtils.swift +++ b/PXGoogleDirections/PXUtils.swift @@ -16,12 +16,12 @@ public extension UIColor { var alpha: CGFloat = 1.0 if hexColor.hasPrefix("#") { - let index = hexColor.startIndex.advancedBy(1) - let hex = hexColor.substringFromIndex(index) - let scanner = NSScanner(string: hex) + let index = hexColor.characters.index(hexColor.startIndex, offsetBy: 1) + let hex = hexColor.substring(from: index) + let scanner = Scanner(string: hex) var hexValue: CUnsignedLongLong = 0 - if scanner.scanHexLongLong(&hexValue) { - switch hex.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) { + if scanner.scanHexInt64(&hexValue) { + switch hex.lengthOfBytes(using: String.Encoding.utf8) { case 3: red = CGFloat((hexValue & 0xF00) >> 8) / 15.0 green = CGFloat((hexValue & 0x0F0) >> 4) / 15.0 @@ -45,7 +45,7 @@ public extension UIColor { } } } - if let r = red, g = green, b = blue { + if let r = red, let g = green, let b = blue { self.init(red: r, green: g, blue: b, alpha: alpha) } else { self.init() diff --git a/Podfile b/Podfile index 4c90d63..b8388d5 100755 --- a/Podfile +++ b/Podfile @@ -1,8 +1,8 @@ source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' +platform :ios, '8.1' use_frameworks! target 'PXGoogleDirections' do - pod 'GoogleMaps' + pod 'GoogleMaps' end diff --git a/README.md b/README.md index 218b62b..a0a9ab1 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,19 @@ Google Directions API SDK for iOS, entirely written in Swift. [![Cocoapods](https://img.shields.io/cocoapods/v/PXGoogleDirections.svg)](https://img.shields.io/cocoapods/v/PXGoogleDirections.svg) [![Cocoapods](https://img.shields.io/cocoapods/p/PXGoogleDirections.svg)](https://img.shields.io/cocoapods/p/PXGoogleDirections.svg) [![Cocoapods](https://img.shields.io/cocoapods/l/PXGoogleDirections.svg)](https://img.shields.io/cocoapods/l/PXGoogleDirections.svg) +![Swift](https://img.shields.io/badge/%20in-swift%203-orange.svg) + +[![CocoaPods](https://img.shields.io/cocoapods/metrics/doc-percent/PXGoogleDirections.svg?style=plastic)]() +[![CocoaPods](https://img.shields.io/cocoapods/at/PXGoogleDirections.svg?style=plastic)]() +[![CocoaPods](https://img.shields.io/cocoapods/aw/PXGoogleDirections.svg?style=plastic)]() + +[![GitHub stars](https://img.shields.io/github/stars/poulpix/PXGoogleDirections.svg?style=social&label=Star&style=plastic)]() +[![GitHub forks](https://img.shields.io/github/forks/poulpix/PXGoogleDirections.svg?style=social&label=Fork&style=plastic)]() +[![GitHub watchers](https://img.shields.io/github/watchers/poulpix/PXGoogleDirections.svg?style=social&label=Watch&style=plastic)]() +[![Twitter Follow](https://img.shields.io/twitter/follow/_RomainL.svg?style=social&label=Follow&style=plastic)]() ## Features -- Supports all features from the Google Directions API as of March 2015 (see here for a full list: https://developers.google.com/maps/documentation/directions) +- Supports all features from the Google Directions API as of November 2016 (see here for a full list: https://developers.google.com/maps/documentation/directions) - Supports "open in Google Maps app", both for specific locations and directions request * also supports the callback feature to get the user back to your app when he's done in Google Maps * in case the Google Maps app is not installed, also supports fallback to the built-in Apple Maps app @@ -14,6 +24,14 @@ Google Directions API SDK for iOS, entirely written in Swift. - Queries are made over HTTPS - JSON is used behind the scenes to help reduce the size of the responses - Available through CocoaPods +- V1.3 is fully compatible with Swift 3 and Google Maps iOS SDK V2+ + +## New in V1.3 +- Full Swift 3 support +- Full Google Maps iOS SDK 2.0+ support +- Added a `trafficModel` property on the `PXGoogleDirections` class to match Google's one in the API (recently added); it works only for driving routes, and when a departure date is specified +- Fixed a bug where drawing a route would only draw a basic, rough representation of it taken from the route object; now there is an option for drawing a detailed route in the `drawOnMap` method of the `PXGoogleDirectionsRoute` class +- Other small bug fixes ## Installation ### From Cocoapods @@ -22,7 +40,7 @@ To use PXGoogleDirections in your project add the following 'Podfile' to your pr ``` source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' +platform :ios, '8.1' pod 'PXGoogleDirections' @@ -48,13 +66,6 @@ import PXGoogleDirections - Add the whole `PXGoogleDirections` project to your own Xcode project - Add a dependency between the two projects and build -## In case of problems -If your app also requires the Google Maps iOS SDK, you might run into troubles because of conflicts with the bundled Google Maps iOS SDK in the Cocoapod. -If you happen to face these problems, please try to do the following: -- Add `-framework "GoogleMaps"` to the "Other Linker Flags" of your Xcode project. -- Make sure you are linking your app with all the libraries and frameworks required by the Google Maps iOS SDK. For a full list, see here: https://github.com/CocoaPods/Specs/blob/master/Specs/GoogleMaps/1.12.3/GoogleMaps.podspec.json -- Also make sure that your app contains the `GoogleMaps.bundle` in the "Copy Bundle Resources" phase of the build process. If it doesn't, you can manually add it to Xcode by browsing to the following directory in the Finder: `/Pods/PXGoogleDirections/Dependencies/GoogleMaps.framework/Resources/GoogleMaps.bundle`. Drop it in the "Frameworks" group of your project and uncheck the "Copy" checkbox. - ## Usage Quick-start in two lines of Swift code: @@ -68,10 +79,10 @@ let directionsAPI = PXGoogleDirections(apiKey: " +It is designed to demo the main features of both the API and the SDK. + + + +## In case of problems +Since V1.3, PXGoogleDirections uses Google's latest branch of Google Maps iOS SDK, which has now been split into smaller, more modular frameworks. PXGoogleDirections has a dependency with three of them: +- `GoogleMapsCore` +- `GoogleMapsBase` +- `GoogleMaps` +The Google Places iOS SDK is not required. + +If your app *also* requires the Google Maps iOS SDK, you might run into troubles because of conflicts with the bundled Google Maps iOS SDK in the Cocoapod. Providing Cocoapods frameworks with static framework dependencies like Google Maps is a real pain and there is no simple, straightforward solution I'm aware of, unfortunately. + +If you happen to face these problems, please try to do the following: +- Add `-framework "GoogleMapsBase" -framework "GoogleMapsCore" -framework "GoogleMaps"` to the "Other Linker Flags" of your Xcode project. +- Make sure you are linking your app with all the libraries and frameworks required by the Google Maps iOS SDK. For a full list, see here: https://github.com/CocoaPods/Specs/blob/master/Specs/a/d/d/GoogleMaps/2.1.1/GoogleMaps.podspec.json ## Credit - Some portions of code inspired by OpenInGoogleMaps-iOS (https://github.com/googlemaps/OpenInGoogleMaps-iOS) from the Google Maps team. diff --git a/Sample/PXGoogleDirectionsSample.xcodeproj/project.pbxproj b/Sample/PXGoogleDirectionsSample.xcodeproj/project.pbxproj index feb8678..c5990b5 100644 --- a/Sample/PXGoogleDirectionsSample.xcodeproj/project.pbxproj +++ b/Sample/PXGoogleDirectionsSample.xcodeproj/project.pbxproj @@ -7,197 +7,185 @@ objects = { /* Begin PBXBuildFile section */ - 1431ADA315B03588AC656AF9 /* Pods_PXGoogleDirectionsSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66E9A04335250F644523B271 /* Pods_PXGoogleDirectionsSample.framework */; }; - 5A5CAF0E2539948B205B99C4 /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55CFCFC5D63BD7A05A0DB242 /* Pods.framework */; }; - 7A12EF881AAC65710070BA73 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A12EF871AAC65710070BA73 /* AppDelegate.swift */; }; - 7A12EF8A1AAC65710070BA73 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A12EF891AAC65710070BA73 /* MainViewController.swift */; }; - 7A12EF8D1AAC65710070BA73 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7A12EF8B1AAC65710070BA73 /* Main.storyboard */; }; - 7A12EF8F1AAC65710070BA73 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7A12EF8E1AAC65710070BA73 /* Images.xcassets */; }; - 7A12EF921AAC65710070BA73 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7A12EF901AAC65710070BA73 /* LaunchScreen.xib */; }; - 7A12EFA81AAC65CF0070BA73 /* Podfile in Resources */ = {isa = PBXBuildFile; fileRef = 7A12EFA71AAC65CF0070BA73 /* Podfile */; }; - 7A1867181BA30B270056BEB3 /* GoogleMaps.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A1867171BA30B270056BEB3 /* GoogleMaps.framework */; }; - 7A1A84E51AC5F33A0019E6B8 /* WaypointViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A1A84E41AC5F33A0019E6B8 /* WaypointViewController.swift */; }; - 7A79CE601BDB8FDD00DB777D /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A79CE5F1BDB8FDD00DB777D /* CoreBluetooth.framework */; }; - 7A79CE621BDB8FE800DB777D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A79CE611BDB8FE800DB777D /* Security.framework */; }; - 7A79CE641BDB901900DB777D /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A79CE631BDB901900DB777D /* Accelerate.framework */; }; - 7A79CE661BDB908600DB777D /* GoogleMaps.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 7A79CE651BDB908600DB777D /* GoogleMaps.bundle */; }; - 7A7B63B41D18610E009CFACD /* GoogleAPIKeyProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A7B63B31D18610E009CFACD /* GoogleAPIKeyProvider.swift */; }; - 7A7C6E381ABD951100D397F1 /* ResultsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A7C6E371ABD951100D397F1 /* ResultsViewController.swift */; }; - 7AC67B651AAD044C00724CB9 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B641AAD044C00724CB9 /* CoreLocation.framework */; }; - 7AED66E21AAF669500B0FD8F /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B4B1AAD03AC00724CB9 /* AVFoundation.framework */; }; - 7AED66E31AAF669500B0FD8F /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B4E1AAD03AC00724CB9 /* CoreText.framework */; }; - 7AED66E41AAF669500B0FD8F /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B4F1AAD03AC00724CB9 /* GLKit.framework */; }; - 7AED66E51AAF669500B0FD8F /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B501AAD03AC00724CB9 /* ImageIO.framework */; }; - 7AED66E71AAF669500B0FD8F /* libicucore.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B521AAD03AC00724CB9 /* libicucore.dylib */; }; - 7AED66E81AAF669500B0FD8F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B531AAD03AC00724CB9 /* libz.dylib */; }; - 7AED66E91AAF669500B0FD8F /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B541AAD03AC00724CB9 /* OpenGLES.framework */; }; - 7AED66EA1AAF669500B0FD8F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B551AAD03AC00724CB9 /* QuartzCore.framework */; }; - 7AED66EB1AAF669500B0FD8F /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B561AAD03AC00724CB9 /* SystemConfiguration.framework */; }; - 7AED66EC1AAF66A300B0FD8F /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B4D1AAD03AC00724CB9 /* CoreData.framework */; }; - 7AED66EF1AAF68C300B0FD8F /* libc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC67B511AAD03AC00724CB9 /* libc++.dylib */; }; + 60F60723972D55A758157C1A /* Pods_PXGoogleDirectionsSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3225BF5079705D45C0D54DDE /* Pods_PXGoogleDirectionsSample.framework */; }; + 7AC08E901D300D6700F06B44 /* GoogleAPIKeyProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AC08E8F1D300D6700F06B44 /* GoogleAPIKeyProvider.swift */; }; + 7AC37A3B1DDC397200E03E4E /* GoogleMaps.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC37A381DDC397200E03E4E /* GoogleMaps.framework */; }; + 7AC37A3C1DDC397200E03E4E /* GoogleMapsBase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC37A391DDC397200E03E4E /* GoogleMapsBase.framework */; }; + 7AC37A3D1DDC397200E03E4E /* GoogleMapsCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AC37A3A1DDC397200E03E4E /* GoogleMapsCore.framework */; }; + 7AC68B621D300D0400B81C70 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AC68B611D300D0400B81C70 /* AppDelegate.swift */; }; + 7AC68B671D300D0400B81C70 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7AC68B651D300D0400B81C70 /* Main.storyboard */; }; + 7AC68B691D300D0400B81C70 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7AC68B681D300D0400B81C70 /* Assets.xcassets */; }; + 7ACF3E991D427CCF00830BD6 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3E981D427CCF00830BD6 /* CoreText.framework */; }; + 7ACF3E9B1D427CD400830BD6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3E9A1D427CD400830BD6 /* CoreGraphics.framework */; }; + 7ACF3EAA1D427D1F00830BD6 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3E9C1D427D1F00830BD6 /* Accelerate.framework */; }; + 7ACF3EAB1D427D1F00830BD6 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3E9D1D427D1F00830BD6 /* AVFoundation.framework */; }; + 7ACF3EAC1D427D1F00830BD6 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3E9E1D427D1F00830BD6 /* CoreBluetooth.framework */; }; + 7ACF3EAD1D427D1F00830BD6 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3E9F1D427D1F00830BD6 /* CoreData.framework */; }; + 7ACF3EAE1D427D1F00830BD6 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA01D427D1F00830BD6 /* CoreLocation.framework */; }; + 7ACF3EAF1D427D1F00830BD6 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA11D427D1F00830BD6 /* GLKit.framework */; }; + 7ACF3EB01D427D1F00830BD6 /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA21D427D1F00830BD6 /* ImageIO.framework */; }; + 7ACF3EB11D427D1F00830BD6 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA31D427D1F00830BD6 /* libc++.tbd */; }; + 7ACF3EB21D427D1F00830BD6 /* libicucore.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA41D427D1F00830BD6 /* libicucore.tbd */; }; + 7ACF3EB31D427D1F00830BD6 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA51D427D1F00830BD6 /* libz.tbd */; }; + 7ACF3EB41D427D1F00830BD6 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA61D427D1F00830BD6 /* OpenGLES.framework */; }; + 7ACF3EB51D427D1F00830BD6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA71D427D1F00830BD6 /* QuartzCore.framework */; }; + 7ACF3EB61D427D1F00830BD6 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA81D427D1F00830BD6 /* Security.framework */; }; + 7ACF3EB71D427D1F00830BD6 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ACF3EA91D427D1F00830BD6 /* SystemConfiguration.framework */; }; + 7ACF3EBB1D427D7300830BD6 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACF3EB81D427D7300830BD6 /* MainViewController.swift */; }; + 7ACF3EBC1D427D7300830BD6 /* ResultsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACF3EB91D427D7300830BD6 /* ResultsViewController.swift */; }; + 7ACF3EBD1D427D7300830BD6 /* WaypointViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7ACF3EBA1D427D7300830BD6 /* WaypointViewController.swift */; }; + 7ACF3EC01D427DA100830BD6 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7ACF3EBE1D427DA100830BD6 /* LaunchScreen.xib */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 55CFCFC5D63BD7A05A0DB242 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 66E9A04335250F644523B271 /* Pods_PXGoogleDirectionsSample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PXGoogleDirectionsSample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 721D15A22E23DB22F6733405 /* Pods-PXGoogleDirectionsSample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PXGoogleDirectionsSample.release.xcconfig"; path = "Pods/Target Support Files/Pods-PXGoogleDirectionsSample/Pods-PXGoogleDirectionsSample.release.xcconfig"; sourceTree = ""; }; - 7A12EF821AAC65710070BA73 /* PXGoogleDirectionsSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PXGoogleDirectionsSample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 7A12EF861AAC65710070BA73 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 7A12EF871AAC65710070BA73 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7A12EF891AAC65710070BA73 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; - 7A12EF8C1AAC65710070BA73 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 7A12EF8E1AAC65710070BA73 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 7A12EF911AAC65710070BA73 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 7A12EFA71AAC65CF0070BA73 /* Podfile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 7A1867171BA30B270056BEB3 /* GoogleMaps.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleMaps.framework; path = Pods/PXGoogleDirections/Dependencies/GoogleMaps.framework; sourceTree = ""; }; - 7A1A84E41AC5F33A0019E6B8 /* WaypointViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WaypointViewController.swift; sourceTree = ""; }; - 7A79CE5F1BDB8FDD00DB777D /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; - 7A79CE611BDB8FE800DB777D /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - 7A79CE631BDB901900DB777D /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - 7A79CE651BDB908600DB777D /* GoogleMaps.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = GoogleMaps.bundle; path = Pods/PXGoogleDirections/Dependencies/GoogleMaps.framework/Versions/A/Resources/GoogleMaps.bundle; sourceTree = ""; }; - 7A7B63B31D18610E009CFACD /* GoogleAPIKeyProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GoogleAPIKeyProvider.swift; path = Private/GoogleAPIKeyProvider.swift; sourceTree = SOURCE_ROOT; }; - 7A7C6E371ABD951100D397F1 /* ResultsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResultsViewController.swift; sourceTree = ""; }; - 7AC67B4B1AAD03AC00724CB9 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - 7AC67B4C1AAD03AC00724CB9 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - 7AC67B4D1AAD03AC00724CB9 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; - 7AC67B4E1AAD03AC00724CB9 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; - 7AC67B4F1AAD03AC00724CB9 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; - 7AC67B501AAD03AC00724CB9 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; - 7AC67B511AAD03AC00724CB9 /* libc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.dylib"; path = "usr/lib/libc++.dylib"; sourceTree = SDKROOT; }; - 7AC67B521AAD03AC00724CB9 /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = usr/lib/libicucore.dylib; sourceTree = SDKROOT; }; - 7AC67B531AAD03AC00724CB9 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; - 7AC67B541AAD03AC00724CB9 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; - 7AC67B551AAD03AC00724CB9 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 7AC67B561AAD03AC00724CB9 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; - 7AC67B641AAD044C00724CB9 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; - 7BE7A6224AE623CF0BA62CA4 /* Pods-PXGoogleDirectionsSample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PXGoogleDirectionsSample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PXGoogleDirectionsSample/Pods-PXGoogleDirectionsSample.debug.xcconfig"; sourceTree = ""; }; - 99AC9BD82FBB482C7BCD4987 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; - EFAA109881575C4A888F1B64 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; + 3225BF5079705D45C0D54DDE /* Pods_PXGoogleDirectionsSample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_PXGoogleDirectionsSample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7AC08E8F1D300D6700F06B44 /* GoogleAPIKeyProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GoogleAPIKeyProvider.swift; path = Private/GoogleAPIKeyProvider.swift; sourceTree = SOURCE_ROOT; }; + 7AC37A381DDC397200E03E4E /* GoogleMaps.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleMaps.framework; path = Pods/PXGoogleDirections/Dependencies/GoogleMaps.framework; sourceTree = ""; }; + 7AC37A391DDC397200E03E4E /* GoogleMapsBase.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleMapsBase.framework; path = Pods/PXGoogleDirections/Dependencies/GoogleMapsBase.framework; sourceTree = ""; }; + 7AC37A3A1DDC397200E03E4E /* GoogleMapsCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GoogleMapsCore.framework; path = Pods/PXGoogleDirections/Dependencies/GoogleMapsCore.framework; sourceTree = ""; }; + 7AC68B5E1D300D0300B81C70 /* PXGoogleDirectionsSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PXGoogleDirectionsSample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 7AC68B611D300D0400B81C70 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AC68B661D300D0400B81C70 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 7AC68B681D300D0400B81C70 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 7AC68B6D1D300D0400B81C70 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 7ACF3E981D427CCF00830BD6 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + 7ACF3E9A1D427CD400830BD6 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 7ACF3E9C1D427D1F00830BD6 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 7ACF3E9D1D427D1F00830BD6 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 7ACF3E9E1D427D1F00830BD6 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; + 7ACF3E9F1D427D1F00830BD6 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; + 7ACF3EA01D427D1F00830BD6 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; + 7ACF3EA11D427D1F00830BD6 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; + 7ACF3EA21D427D1F00830BD6 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; }; + 7ACF3EA31D427D1F00830BD6 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; + 7ACF3EA41D427D1F00830BD6 /* libicucore.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libicucore.tbd; path = usr/lib/libicucore.tbd; sourceTree = SDKROOT; }; + 7ACF3EA51D427D1F00830BD6 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; + 7ACF3EA61D427D1F00830BD6 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + 7ACF3EA71D427D1F00830BD6 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 7ACF3EA81D427D1F00830BD6 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; + 7ACF3EA91D427D1F00830BD6 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 7ACF3EB81D427D7300830BD6 /* MainViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; + 7ACF3EB91D427D7300830BD6 /* ResultsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResultsViewController.swift; sourceTree = ""; }; + 7ACF3EBA1D427D7300830BD6 /* WaypointViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WaypointViewController.swift; sourceTree = ""; }; + 7ACF3EBF1D427DA100830BD6 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + B83B08D12A009BB6BA8E12AD /* Pods-PXGoogleDirectionsSample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PXGoogleDirectionsSample.release.xcconfig"; path = "Pods/Target Support Files/Pods-PXGoogleDirectionsSample/Pods-PXGoogleDirectionsSample.release.xcconfig"; sourceTree = ""; }; + F97416A2E425D03A322EC705 /* Pods-PXGoogleDirectionsSample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-PXGoogleDirectionsSample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-PXGoogleDirectionsSample/Pods-PXGoogleDirectionsSample.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 7A12EF7F1AAC65710070BA73 /* Frameworks */ = { + 7AC68B5B1D300D0300B81C70 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7A79CE641BDB901900DB777D /* Accelerate.framework in Frameworks */, - 7A79CE621BDB8FE800DB777D /* Security.framework in Frameworks */, - 7A79CE601BDB8FDD00DB777D /* CoreBluetooth.framework in Frameworks */, - 7AED66EF1AAF68C300B0FD8F /* libc++.dylib in Frameworks */, - 7AED66EC1AAF66A300B0FD8F /* CoreData.framework in Frameworks */, - 7AED66E21AAF669500B0FD8F /* AVFoundation.framework in Frameworks */, - 7AED66E31AAF669500B0FD8F /* CoreText.framework in Frameworks */, - 7AED66E41AAF669500B0FD8F /* GLKit.framework in Frameworks */, - 7AED66E51AAF669500B0FD8F /* ImageIO.framework in Frameworks */, - 7AED66E71AAF669500B0FD8F /* libicucore.dylib in Frameworks */, - 7AED66E81AAF669500B0FD8F /* libz.dylib in Frameworks */, - 7AED66E91AAF669500B0FD8F /* OpenGLES.framework in Frameworks */, - 7AED66EA1AAF669500B0FD8F /* QuartzCore.framework in Frameworks */, - 7AED66EB1AAF669500B0FD8F /* SystemConfiguration.framework in Frameworks */, - 7AC67B651AAD044C00724CB9 /* CoreLocation.framework in Frameworks */, - 5A5CAF0E2539948B205B99C4 /* Pods.framework in Frameworks */, - 7A1867181BA30B270056BEB3 /* GoogleMaps.framework in Frameworks */, - 1431ADA315B03588AC656AF9 /* Pods_PXGoogleDirectionsSample.framework in Frameworks */, + 7AC37A3B1DDC397200E03E4E /* GoogleMaps.framework in Frameworks */, + 7AC37A3C1DDC397200E03E4E /* GoogleMapsBase.framework in Frameworks */, + 7AC37A3D1DDC397200E03E4E /* GoogleMapsCore.framework in Frameworks */, + 7ACF3EAA1D427D1F00830BD6 /* Accelerate.framework in Frameworks */, + 7ACF3EAB1D427D1F00830BD6 /* AVFoundation.framework in Frameworks */, + 7ACF3EAC1D427D1F00830BD6 /* CoreBluetooth.framework in Frameworks */, + 7ACF3EAD1D427D1F00830BD6 /* CoreData.framework in Frameworks */, + 7ACF3EAE1D427D1F00830BD6 /* CoreLocation.framework in Frameworks */, + 7ACF3EAF1D427D1F00830BD6 /* GLKit.framework in Frameworks */, + 7ACF3EB01D427D1F00830BD6 /* ImageIO.framework in Frameworks */, + 7ACF3EB11D427D1F00830BD6 /* libc++.tbd in Frameworks */, + 7ACF3EB21D427D1F00830BD6 /* libicucore.tbd in Frameworks */, + 7ACF3EB31D427D1F00830BD6 /* libz.tbd in Frameworks */, + 7ACF3EB41D427D1F00830BD6 /* OpenGLES.framework in Frameworks */, + 7ACF3EB51D427D1F00830BD6 /* QuartzCore.framework in Frameworks */, + 7ACF3EB61D427D1F00830BD6 /* Security.framework in Frameworks */, + 7ACF3EB71D427D1F00830BD6 /* SystemConfiguration.framework in Frameworks */, + 7ACF3E9B1D427CD400830BD6 /* CoreGraphics.framework in Frameworks */, + 7ACF3E991D427CCF00830BD6 /* CoreText.framework in Frameworks */, + 60F60723972D55A758157C1A /* Pods_PXGoogleDirectionsSample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 3A7FE944520806CD1C3F1A30 /* Frameworks */ = { + 7AC68B551D300D0300B81C70 = { isa = PBXGroup; children = ( - 7A79CE651BDB908600DB777D /* GoogleMaps.bundle */, - 7A79CE631BDB901900DB777D /* Accelerate.framework */, - 7A79CE611BDB8FE800DB777D /* Security.framework */, - 7A79CE5F1BDB8FDD00DB777D /* CoreBluetooth.framework */, - 7A1867171BA30B270056BEB3 /* GoogleMaps.framework */, - 7AC67B641AAD044C00724CB9 /* CoreLocation.framework */, - 7AC67B4B1AAD03AC00724CB9 /* AVFoundation.framework */, - 7AC67B4C1AAD03AC00724CB9 /* CoreAudio.framework */, - 7AC67B4D1AAD03AC00724CB9 /* CoreData.framework */, - 7AC67B4E1AAD03AC00724CB9 /* CoreText.framework */, - 7AC67B4F1AAD03AC00724CB9 /* GLKit.framework */, - 7AC67B501AAD03AC00724CB9 /* ImageIO.framework */, - 7AC67B511AAD03AC00724CB9 /* libc++.dylib */, - 7AC67B521AAD03AC00724CB9 /* libicucore.dylib */, - 7AC67B531AAD03AC00724CB9 /* libz.dylib */, - 7AC67B541AAD03AC00724CB9 /* OpenGLES.framework */, - 7AC67B551AAD03AC00724CB9 /* QuartzCore.framework */, - 7AC67B561AAD03AC00724CB9 /* SystemConfiguration.framework */, - 55CFCFC5D63BD7A05A0DB242 /* Pods.framework */, - 66E9A04335250F644523B271 /* Pods_PXGoogleDirectionsSample.framework */, + 7AC68B601D300D0400B81C70 /* PXGoogleDirectionsSample */, + 7AC68B5F1D300D0300B81C70 /* Products */, + ED35EE3D383D3489F3198806 /* Pods */, + E606A026ADB2A38A37373483 /* Frameworks */, ); - name = Frameworks; - sourceTree = ""; - }; - 583023F6635084B88BE8EC26 /* Pods */ = { - isa = PBXGroup; - children = ( - EFAA109881575C4A888F1B64 /* Pods.debug.xcconfig */, - 99AC9BD82FBB482C7BCD4987 /* Pods.release.xcconfig */, - 7BE7A6224AE623CF0BA62CA4 /* Pods-PXGoogleDirectionsSample.debug.xcconfig */, - 721D15A22E23DB22F6733405 /* Pods-PXGoogleDirectionsSample.release.xcconfig */, - ); - name = Pods; sourceTree = ""; }; - 7A12EF791AAC65710070BA73 = { + 7AC68B5F1D300D0300B81C70 /* Products */ = { isa = PBXGroup; children = ( - 7A12EF841AAC65710070BA73 /* PXGoogleDirectionsSample */, - 7A12EF831AAC65710070BA73 /* Products */, - 583023F6635084B88BE8EC26 /* Pods */, - 3A7FE944520806CD1C3F1A30 /* Frameworks */, + 7AC68B5E1D300D0300B81C70 /* PXGoogleDirectionsSample.app */, ); + name = Products; sourceTree = ""; }; - 7A12EF831AAC65710070BA73 /* Products */ = { + 7AC68B601D300D0400B81C70 /* PXGoogleDirectionsSample */ = { isa = PBXGroup; children = ( - 7A12EF821AAC65710070BA73 /* PXGoogleDirectionsSample.app */, + 7AC68B611D300D0400B81C70 /* AppDelegate.swift */, + 7AC08E8F1D300D6700F06B44 /* GoogleAPIKeyProvider.swift */, + 7ACF3EB81D427D7300830BD6 /* MainViewController.swift */, + 7ACF3EB91D427D7300830BD6 /* ResultsViewController.swift */, + 7ACF3EBA1D427D7300830BD6 /* WaypointViewController.swift */, + 7ACF3EBE1D427DA100830BD6 /* LaunchScreen.xib */, + 7AC68B651D300D0400B81C70 /* Main.storyboard */, + 7AC68B681D300D0400B81C70 /* Assets.xcassets */, + 7AC68B6D1D300D0400B81C70 /* Info.plist */, ); - name = Products; + path = PXGoogleDirectionsSample; sourceTree = ""; }; - 7A12EF841AAC65710070BA73 /* PXGoogleDirectionsSample */ = { + E606A026ADB2A38A37373483 /* Frameworks */ = { isa = PBXGroup; children = ( - 7A12EF871AAC65710070BA73 /* AppDelegate.swift */, - 7A7B63B31D18610E009CFACD /* GoogleAPIKeyProvider.swift */, - 7A12EF891AAC65710070BA73 /* MainViewController.swift */, - 7A7C6E371ABD951100D397F1 /* ResultsViewController.swift */, - 7A1A84E41AC5F33A0019E6B8 /* WaypointViewController.swift */, - 7A12EF8B1AAC65710070BA73 /* Main.storyboard */, - 7A12EF901AAC65710070BA73 /* LaunchScreen.xib */, - 7A12EF8E1AAC65710070BA73 /* Images.xcassets */, - 7A12EF851AAC65710070BA73 /* Supporting Files */, + 7AC37A381DDC397200E03E4E /* GoogleMaps.framework */, + 7AC37A391DDC397200E03E4E /* GoogleMapsBase.framework */, + 7AC37A3A1DDC397200E03E4E /* GoogleMapsCore.framework */, + 7ACF3E9C1D427D1F00830BD6 /* Accelerate.framework */, + 7ACF3E9D1D427D1F00830BD6 /* AVFoundation.framework */, + 7ACF3E9E1D427D1F00830BD6 /* CoreBluetooth.framework */, + 7ACF3E9F1D427D1F00830BD6 /* CoreData.framework */, + 7ACF3EA01D427D1F00830BD6 /* CoreLocation.framework */, + 7ACF3EA11D427D1F00830BD6 /* GLKit.framework */, + 7ACF3EA21D427D1F00830BD6 /* ImageIO.framework */, + 7ACF3EA31D427D1F00830BD6 /* libc++.tbd */, + 7ACF3EA41D427D1F00830BD6 /* libicucore.tbd */, + 7ACF3EA51D427D1F00830BD6 /* libz.tbd */, + 7ACF3EA61D427D1F00830BD6 /* OpenGLES.framework */, + 7ACF3EA71D427D1F00830BD6 /* QuartzCore.framework */, + 7ACF3EA81D427D1F00830BD6 /* Security.framework */, + 7ACF3EA91D427D1F00830BD6 /* SystemConfiguration.framework */, + 7ACF3E9A1D427CD400830BD6 /* CoreGraphics.framework */, + 7ACF3E981D427CCF00830BD6 /* CoreText.framework */, + 3225BF5079705D45C0D54DDE /* Pods_PXGoogleDirectionsSample.framework */, ); - path = PXGoogleDirectionsSample; + name = Frameworks; sourceTree = ""; }; - 7A12EF851AAC65710070BA73 /* Supporting Files */ = { + ED35EE3D383D3489F3198806 /* Pods */ = { isa = PBXGroup; children = ( - 7A12EFA71AAC65CF0070BA73 /* Podfile */, - 7A12EF861AAC65710070BA73 /* Info.plist */, + F97416A2E425D03A322EC705 /* Pods-PXGoogleDirectionsSample.debug.xcconfig */, + B83B08D12A009BB6BA8E12AD /* Pods-PXGoogleDirectionsSample.release.xcconfig */, ); - name = "Supporting Files"; + name = Pods; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 7A12EF811AAC65710070BA73 /* PXGoogleDirectionsSample */ = { + 7AC68B5D1D300D0300B81C70 /* PXGoogleDirectionsSample */ = { isa = PBXNativeTarget; - buildConfigurationList = 7A12EFA11AAC65710070BA73 /* Build configuration list for PBXNativeTarget "PXGoogleDirectionsSample" */; + buildConfigurationList = 7AC68B701D300D0400B81C70 /* Build configuration list for PBXNativeTarget "PXGoogleDirectionsSample" */; buildPhases = ( - 2993869EDE9EDB14F9F4AFE4 /* [CP] Check Pods Manifest.lock */, - 7A12EF7E1AAC65710070BA73 /* Sources */, - 7A12EF7F1AAC65710070BA73 /* Frameworks */, - 7A12EF801AAC65710070BA73 /* Resources */, - 7EC7EFC8C2EE5BF130AC3C2A /* [CP] Embed Pods Frameworks */, - E05481DBC90E221591503D21 /* [CP] Copy Pods Resources */, + 7BD204DEC9C1B9C572EA1A73 /* [CP] Check Pods Manifest.lock */, + 7AC68B5A1D300D0300B81C70 /* Sources */, + 7AC68B5B1D300D0300B81C70 /* Frameworks */, + 7AC68B5C1D300D0300B81C70 /* Resources */, + 295018C93D0F212C41A0F980 /* [CP] Embed Pods Frameworks */, + DB3204A5C84EC3A7A17CAFE8 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -205,26 +193,26 @@ ); name = PXGoogleDirectionsSample; productName = PXGoogleDirectionsSample; - productReference = 7A12EF821AAC65710070BA73 /* PXGoogleDirectionsSample.app */; + productReference = 7AC68B5E1D300D0300B81C70 /* PXGoogleDirectionsSample.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 7A12EF7A1AAC65710070BA73 /* Project object */ = { + 7AC68B561D300D0300B81C70 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftMigration = 0700; - LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0700; - ORGANIZATIONNAME = Poulpix; + LastSwiftUpdateCheck = 0730; + LastUpgradeCheck = 0810; + ORGANIZATIONNAME = RLT; TargetAttributes = { - 7A12EF811AAC65710070BA73 = { - CreatedOnToolsVersion = 6.3; + 7AC68B5D1D300D0300B81C70 = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 0810; }; }; }; - buildConfigurationList = 7A12EF7D1AAC65710070BA73 /* Build configuration list for PBXProject "PXGoogleDirectionsSample" */; + buildConfigurationList = 7AC68B591D300D0300B81C70 /* Build configuration list for PBXProject "PXGoogleDirectionsSample" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; @@ -232,63 +220,61 @@ en, Base, ); - mainGroup = 7A12EF791AAC65710070BA73; - productRefGroup = 7A12EF831AAC65710070BA73 /* Products */; + mainGroup = 7AC68B551D300D0300B81C70; + productRefGroup = 7AC68B5F1D300D0300B81C70 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 7A12EF811AAC65710070BA73 /* PXGoogleDirectionsSample */, + 7AC68B5D1D300D0300B81C70 /* PXGoogleDirectionsSample */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 7A12EF801AAC65710070BA73 /* Resources */ = { + 7AC68B5C1D300D0300B81C70 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7A79CE661BDB908600DB777D /* GoogleMaps.bundle in Resources */, - 7A12EF8D1AAC65710070BA73 /* Main.storyboard in Resources */, - 7A12EF921AAC65710070BA73 /* LaunchScreen.xib in Resources */, - 7A12EFA81AAC65CF0070BA73 /* Podfile in Resources */, - 7A12EF8F1AAC65710070BA73 /* Images.xcassets in Resources */, + 7ACF3EC01D427DA100830BD6 /* LaunchScreen.xib in Resources */, + 7AC68B691D300D0400B81C70 /* Assets.xcassets in Resources */, + 7AC68B671D300D0400B81C70 /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2993869EDE9EDB14F9F4AFE4 /* [CP] Check Pods Manifest.lock */ = { + 295018C93D0F212C41A0F980 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-PXGoogleDirectionsSample/Pods-PXGoogleDirectionsSample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 7EC7EFC8C2EE5BF130AC3C2A /* [CP] Embed Pods Frameworks */ = { + 7BD204DEC9C1B9C572EA1A73 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-PXGoogleDirectionsSample/Pods-PXGoogleDirectionsSample-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; - E05481DBC90E221591503D21 /* [CP] Copy Pods Resources */ = { + DB3204A5C84EC3A7A17CAFE8 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -306,33 +292,33 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 7A12EF7E1AAC65710070BA73 /* Sources */ = { + 7AC68B5A1D300D0300B81C70 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7A7B63B41D18610E009CFACD /* GoogleAPIKeyProvider.swift in Sources */, - 7A12EF8A1AAC65710070BA73 /* MainViewController.swift in Sources */, - 7A12EF881AAC65710070BA73 /* AppDelegate.swift in Sources */, - 7A1A84E51AC5F33A0019E6B8 /* WaypointViewController.swift in Sources */, - 7A7C6E381ABD951100D397F1 /* ResultsViewController.swift in Sources */, + 7AC08E901D300D6700F06B44 /* GoogleAPIKeyProvider.swift in Sources */, + 7AC68B621D300D0400B81C70 /* AppDelegate.swift in Sources */, + 7ACF3EBC1D427D7300830BD6 /* ResultsViewController.swift in Sources */, + 7ACF3EBB1D427D7300830BD6 /* MainViewController.swift in Sources */, + 7ACF3EBD1D427D7300830BD6 /* WaypointViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ - 7A12EF8B1AAC65710070BA73 /* Main.storyboard */ = { + 7AC68B651D300D0400B81C70 /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - 7A12EF8C1AAC65710070BA73 /* Base */, + 7AC68B661D300D0400B81C70 /* Base */, ); name = Main.storyboard; sourceTree = ""; }; - 7A12EF901AAC65710070BA73 /* LaunchScreen.xib */ = { + 7ACF3EBE1D427DA100830BD6 /* LaunchScreen.xib */ = { isa = PBXVariantGroup; children = ( - 7A12EF911AAC65710070BA73 /* Base */, + 7ACF3EBF1D427DA100830BD6 /* Base */, ); name = LaunchScreen.xib; sourceTree = ""; @@ -340,10 +326,11 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 7A12EF9F1AAC65710070BA73 /* Debug */ = { + 7AC68B6E1D300D0400B81C70 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -353,8 +340,10 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -364,19 +353,19 @@ ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -385,10 +374,11 @@ }; name = Debug; }; - 7A12EFA01AAC65710070BA73 /* Release */ = { + 7AC68B6F1D300D0400B81C70 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -398,8 +388,10 @@ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -408,92 +400,88 @@ ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; - 7A12EFA21AAC65710070BA73 /* Debug */ = { + 7AC68B711D300D0400B81C70 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7BE7A6224AE623CF0BA62CA4 /* Pods-PXGoogleDirectionsSample.debug.xcconfig */; + baseConfigurationReference = F97416A2E425D03A322EC705 /* Pods-PXGoogleDirectionsSample.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ENABLE_BITCODE = NO; + DEVELOPMENT_TEAM = ""; + ENABLE_BITCODE = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - /Users/Romain/Projets/PXGoogleDirections/Dependencies, "$(PROJECT_DIR)", "$(PROJECT_DIR)/Pods/PXGoogleDirections/Dependencies", ); INFOPLIST_FILE = PXGoogleDirectionsSample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = "Poulpix.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = Poulpix.PXGoogleDirectionsSample; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = ""; + SWIFT_VERSION = 3.0; }; name = Debug; }; - 7A12EFA31AAC65710070BA73 /* Release */ = { + 7AC68B721D300D0400B81C70 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 721D15A22E23DB22F6733405 /* Pods-PXGoogleDirectionsSample.release.xcconfig */; + baseConfigurationReference = B83B08D12A009BB6BA8E12AD /* Pods-PXGoogleDirectionsSample.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ENABLE_BITCODE = NO; + DEVELOPMENT_TEAM = ""; + ENABLE_BITCODE = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - /Users/Romain/Projets/PXGoogleDirections/Dependencies, "$(PROJECT_DIR)", "$(PROJECT_DIR)/Pods/PXGoogleDirections/Dependencies", ); INFOPLIST_FILE = PXGoogleDirectionsSample/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - ); - PRODUCT_BUNDLE_IDENTIFIER = "Poulpix.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = Poulpix.PXGoogleDirectionsSample; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = ""; + SWIFT_VERSION = 3.0; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 7A12EF7D1AAC65710070BA73 /* Build configuration list for PBXProject "PXGoogleDirectionsSample" */ = { + 7AC68B591D300D0300B81C70 /* Build configuration list for PBXProject "PXGoogleDirectionsSample" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7A12EF9F1AAC65710070BA73 /* Debug */, - 7A12EFA01AAC65710070BA73 /* Release */, + 7AC68B6E1D300D0400B81C70 /* Debug */, + 7AC68B6F1D300D0400B81C70 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7A12EFA11AAC65710070BA73 /* Build configuration list for PBXNativeTarget "PXGoogleDirectionsSample" */ = { + 7AC68B701D300D0400B81C70 /* Build configuration list for PBXNativeTarget "PXGoogleDirectionsSample" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7A12EFA21AAC65710070BA73 /* Debug */, - 7A12EFA31AAC65710070BA73 /* Release */, + 7AC68B711D300D0400B81C70 /* Debug */, + 7AC68B721D300D0400B81C70 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 7A12EF7A1AAC65710070BA73 /* Project object */; + rootObject = 7AC68B561D300D0300B81C70 /* Project object */; } diff --git a/Sample/PXGoogleDirectionsSample/AppDelegate.swift b/Sample/PXGoogleDirectionsSample/AppDelegate.swift index 74f3dfa..98a7cdb 100644 --- a/Sample/PXGoogleDirectionsSample/AppDelegate.swift +++ b/Sample/PXGoogleDirectionsSample/AppDelegate.swift @@ -15,12 +15,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? var directionsAPI: PXGoogleDirections! - func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. - UISegmentedControl.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "Avenir Next", size: 15.0)!], forState: .Normal) - // TODO: For you fellow developer: replace `getGoogleAPIKey()` in the two lines below with a string containing your own Google Maps API key! - GMSServices.provideAPIKey(getGoogleAPIKey()) - directionsAPI = PXGoogleDirections(apiKey: getGoogleAPIKey()) + UISegmentedControl.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "Avenir Next", size: 15.0)!], for: UIControlState()) + // TODO: For you fellow developer: replace `getGoogleAPI{Client|Server}Key()` in the two lines below with a string containing your own Google Maps API keys! + GMSServices.provideAPIKey(getGoogleAPIClientKey()) // A valid iOS client-side API key tied to your application's bundle identifier is required here + directionsAPI = PXGoogleDirections(apiKey: getGoogleAPIServerKey()) // A valid server-side API key is required here return true } diff --git a/Sample/PXGoogleDirectionsSample/Base.lproj/LaunchScreen.xib b/Sample/PXGoogleDirectionsSample/Base.lproj/LaunchScreen.xib index ad30817..42b8028 100644 --- a/Sample/PXGoogleDirectionsSample/Base.lproj/LaunchScreen.xib +++ b/Sample/PXGoogleDirectionsSample/Base.lproj/LaunchScreen.xib @@ -1,7 +1,8 @@ - - + + - + + @@ -11,7 +12,7 @@ - - + @@ -566,7 +603,6 @@ - @@ -574,6 +610,7 @@ + @@ -583,7 +620,7 @@ - + @@ -594,7 +631,7 @@ - + - + @@ -625,10 +662,10 @@ - + - + @@ -642,11 +679,11 @@ - + - + @@ -657,7 +694,7 @@ - + @@ -784,7 +821,7 @@ - + - - + + - - + + + + @@ -840,30 +881,30 @@ - + diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/Contents.json b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/Contents.json index 669227d..1d060ed 100644 --- a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,75 +1,88 @@ { "images" : [ { - "size" : "29x29", "idiom" : "iphone", - "filename" : "iPhone-Settings@2x.png", + "size" : "20x20", "scale" : "2x" }, { - "size" : "29x29", "idiom" : "iphone", - "filename" : "iPhone-Settings@3x.png", + "size" : "20x20", "scale" : "3x" }, { - "size" : "40x40", "idiom" : "iphone", - "filename" : "iPhone-Spotlight@2x.png", + "size" : "29x29", "scale" : "2x" }, { - "size" : "40x40", "idiom" : "iphone", - "filename" : "iPhone-Spotlight@3x.png", + "size" : "29x29", "scale" : "3x" }, { - "size" : "60x60", "idiom" : "iphone", - "filename" : "iPhone-App@2x.png", + "size" : "40x40", "scale" : "2x" }, { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", "size" : "60x60", + "scale" : "2x" + }, + { "idiom" : "iphone", - "filename" : "iPhone-App@3x.png", + "size" : "60x60", "scale" : "3x" }, { - "size" : "29x29", "idiom" : "ipad", - "filename" : "iPad-Settings.png", + "size" : "20x20", "scale" : "1x" }, { - "size" : "29x29", "idiom" : "ipad", - "filename" : "iPad-Settings@2x.png", + "size" : "20x20", "scale" : "2x" }, { - "size" : "40x40", "idiom" : "ipad", - "filename" : "iPad-Spotlight.png", + "size" : "29x29", "scale" : "1x" }, { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", "size" : "40x40", + "scale" : "1x" + }, + { "idiom" : "ipad", - "filename" : "iPad-Spotlight@2x.png", + "size" : "40x40", "scale" : "2x" }, { - "size" : "76x76", "idiom" : "ipad", - "filename" : "iPad-App.png", + "size" : "76x76", "scale" : "1x" }, { + "idiom" : "ipad", "size" : "76x76", + "scale" : "2x" + }, + { "idiom" : "ipad", - "filename" : "iPad-App@2x.png", + "size" : "83.5x83.5", "scale" : "2x" } ], diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-App.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-App.png deleted file mode 100644 index f59cd06..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-App.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-App@2x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-App@2x.png deleted file mode 100644 index 83db904..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-App@2x.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Settings.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Settings.png deleted file mode 100644 index 976ab3e..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Settings.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Settings@2x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Settings@2x.png deleted file mode 100644 index d32e923..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Settings@2x.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Spotlight.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Spotlight.png deleted file mode 100644 index 55e9ba4..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Spotlight.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Spotlight@2x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Spotlight@2x.png deleted file mode 100644 index 4623ac7..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPad-Spotlight@2x.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-App@2x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-App@2x.png deleted file mode 100644 index c8cfad3..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-App@2x.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-App@3x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-App@3x.png deleted file mode 100644 index bb02159..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-App@3x.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Settings@2x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Settings@2x.png deleted file mode 100644 index d32e923..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Settings@2x.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Settings@3x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Settings@3x.png deleted file mode 100644 index 4870b46..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Settings@3x.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Spotlight@2x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Spotlight@2x.png deleted file mode 100644 index 4623ac7..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Spotlight@2x.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Spotlight@3x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Spotlight@3x.png deleted file mode 100644 index c8cfad3..0000000 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/AppIcon.appiconset/iPhone-Spotlight@3x.png and /dev/null differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/Contents.json b/Sample/PXGoogleDirectionsSample/Images.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/Sample/PXGoogleDirectionsSample/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Contents.json b/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Contents.json index 72a1b2e..c25d3a5 100644 --- a/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Contents.json +++ b/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Contents.json @@ -2,22 +2,25 @@ "images" : [ { "idiom" : "universal", - "scale" : "1x", - "filename" : "Next.png" + "filename" : "Next.png", + "scale" : "1x" }, { "idiom" : "universal", - "scale" : "2x", - "filename" : "Next@2x.png" + "filename" : "Next@2x.png", + "scale" : "2x" }, { "idiom" : "universal", - "scale" : "3x", - "filename" : "Next@3x.png" + "filename" : "Next@3x.png", + "scale" : "3x" } ], "info" : { "version" : 1, "author" : "xcode" + }, + "properties" : { + "template-rendering-intent" : "template" } } \ No newline at end of file diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next.png index 40b1b9f..466a830 100644 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next.png and b/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next.png differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next@2x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next@2x.png index 88b9699..4d455df 100644 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next@2x.png and b/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next@2x.png differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next@3x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next@3x.png index 0ce57ba..5b5ace1 100644 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next@3x.png and b/Sample/PXGoogleDirectionsSample/Images.xcassets/Next.imageset/Next@3x.png differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Contents.json b/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Contents.json index 060c41b..83a757d 100644 --- a/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Contents.json +++ b/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Contents.json @@ -2,22 +2,25 @@ "images" : [ { "idiom" : "universal", - "scale" : "1x", - "filename" : "Previous.png" + "filename" : "Previous.png", + "scale" : "1x" }, { "idiom" : "universal", - "scale" : "2x", - "filename" : "Previous@2x.png" + "filename" : "Previous@2x.png", + "scale" : "2x" }, { "idiom" : "universal", - "scale" : "3x", - "filename" : "Previous@3x.png" + "filename" : "Previous@3x.png", + "scale" : "3x" } ], "info" : { "version" : 1, "author" : "xcode" + }, + "properties" : { + "template-rendering-intent" : "template" } } \ No newline at end of file diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous.png index 978efee..616f2ac 100644 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous.png and b/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous.png differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous@2x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous@2x.png index a79068d..d44ffe7 100644 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous@2x.png and b/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous@2x.png differ diff --git a/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous@3x.png b/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous@3x.png index 67388d3..f668296 100644 Binary files a/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous@3x.png and b/Sample/PXGoogleDirectionsSample/Images.xcassets/Previous.imageset/Previous@3x.png differ diff --git a/Sample/PXGoogleDirectionsSample/Info.plist b/Sample/PXGoogleDirectionsSample/Info.plist index 9f467ee..e9ebc13 100644 --- a/Sample/PXGoogleDirectionsSample/Info.plist +++ b/Sample/PXGoogleDirectionsSample/Info.plist @@ -4,6 +4,8 @@ CFBundleDevelopmentRegion en + CFBundleDisplayName + CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -21,6 +23,8 @@ CFBundleURLTypes + CFBundleTypeRole + Editor CFBundleURLName com.Poulpix.PXGoogleDirectionsSample CFBundleURLSchemes @@ -31,6 +35,11 @@ CFBundleVersion 1 + LSApplicationQueriesSchemes + + comgooglemaps + comgooglemaps-x-callback + LSRequiresIPhoneOS UILaunchStoryboardName @@ -45,15 +54,12 @@ UIInterfaceOrientationPortrait - LSApplicationQueriesSchemes - - comgooglemaps - comgooglemaps-x-callback - UISupportedInterfaceOrientations~ipad UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight diff --git a/Sample/PXGoogleDirectionsSample/MainViewController.swift b/Sample/PXGoogleDirectionsSample/MainViewController.swift index 3d5fe32..ed17b35 100644 --- a/Sample/PXGoogleDirectionsSample/MainViewController.swift +++ b/Sample/PXGoogleDirectionsSample/MainViewController.swift @@ -12,7 +12,7 @@ import PXGoogleDirections import GoogleMaps protocol MainViewControllerDelegate { - func didAddWaypoint(waypoint: PXLocation) + func didAddWaypoint(_ waypoint: PXLocation) } class MainViewController: UIViewController { @@ -23,6 +23,7 @@ class MainViewController: UIViewController { @IBOutlet weak var advancedView: UIView! @IBOutlet weak var unitField: UISegmentedControl! @IBOutlet weak var transitRoutingField: UISegmentedControl! + @IBOutlet weak var trafficModelField: UISegmentedControl! @IBOutlet weak var alternativeSwitch: UISwitch! @IBOutlet weak var busSwitch: UISwitch! @IBOutlet weak var subwaySwitch: UISwitch! @@ -37,7 +38,7 @@ class MainViewController: UIViewController { @IBOutlet weak var waypointsLabel: UILabel! @IBOutlet weak var optimizeWaypointsSwitch: UISwitch! @IBOutlet weak var languageField: UISegmentedControl! - var startArriveDate: NSDate? + var startArriveDate: Date? var waypoints: [PXLocation] = [PXLocation]() override func viewDidLoad() { @@ -47,59 +48,63 @@ class MainViewController: UIViewController { updateWaypointsField() let datePicker = UIDatePicker() datePicker.sizeToFit() - datePicker.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] - datePicker.datePickerMode = .DateAndTime + datePicker.autoresizingMask = [.flexibleWidth, .flexibleHeight] + datePicker.datePickerMode = .dateAndTime datePicker.minuteInterval = 5 startArriveDateField.inputView = datePicker let keyboardDoneButtonView = UIToolbar() - keyboardDoneButtonView.barStyle = .Black - keyboardDoneButtonView.translucent = true + keyboardDoneButtonView.barStyle = .black + keyboardDoneButtonView.isTranslucent = true keyboardDoneButtonView.tintColor = nil keyboardDoneButtonView.sizeToFit() - let doneButton = UIBarButtonItem(title: "Done", style: .Plain, target: self, action: #selector(MainViewController.doneButtonTouched(_:))) - let clearButton = UIBarButtonItem(title: "Clear", style: .Plain, target: self, action: #selector(MainViewController.clearButtonTouched(_:))) + let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(MainViewController.doneButtonTouched(_:))) + let clearButton = UIBarButtonItem(title: "Clear", style: .plain, target: self, action: #selector(MainViewController.clearButtonTouched(_:))) keyboardDoneButtonView.setItems([doneButton, clearButton], animated: false) startArriveDateField.inputAccessoryView = keyboardDoneButtonView } - override func viewDidAppear(animated: Bool) { + override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) } - private var directionsAPI: PXGoogleDirections { - return (UIApplication.sharedApplication().delegate as! AppDelegate).directionsAPI + fileprivate var directionsAPI: PXGoogleDirections { + return (UIApplication.shared.delegate as! AppDelegate).directionsAPI } - private func modeFromField() -> PXGoogleDirectionsMode { + fileprivate func modeFromField() -> PXGoogleDirectionsMode { return PXGoogleDirectionsMode(rawValue: modeField.selectedSegmentIndex)! } - private func unitFromField() -> PXGoogleDirectionsUnit { + fileprivate func unitFromField() -> PXGoogleDirectionsUnit { return PXGoogleDirectionsUnit(rawValue: unitField.selectedSegmentIndex)! } - private func transitRoutingPreferenceFromField() -> PXGoogleDirectionsTransitRoutingPreference? { + fileprivate func transitRoutingPreferenceFromField() -> PXGoogleDirectionsTransitRoutingPreference? { return PXGoogleDirectionsTransitRoutingPreference(rawValue: transitRoutingField.selectedSegmentIndex) } - private func languageFromField() -> String { - return languageField.titleForSegmentAtIndex(languageField.selectedSegmentIndex)! + fileprivate func trafficModelFromField() -> PXGoogleDirectionsTrafficModel? { + return PXGoogleDirectionsTrafficModel(rawValue: trafficModelField.selectedSegmentIndex) + } + + fileprivate func languageFromField() -> String { + return languageField.titleForSegment(at: languageField.selectedSegmentIndex)! // There are quite a few other languages available, see here for more information: https://developers.google.com/maps/faq#languagesupport } - private func updateStartArriveDateField(newDate: NSDate?) { + fileprivate func updateStartArriveDateField(_ newDate: Date?) { startArriveDate = newDate if let saDate = startArriveDate { - let dateFormatter = NSDateFormatter() - dateFormatter.dateStyle = .MediumStyle - dateFormatter.timeStyle = .ShortStyle - startArriveDateField.text = dateFormatter.stringFromDate(saDate) + let dateFormatter = DateFormatter() + dateFormatter.dateStyle = .medium + dateFormatter.timeStyle = .short + startArriveDateField.text = dateFormatter.string(from: saDate) } else { startArriveDateField.text = "" } } - private func updateWaypointsField() { + fileprivate func updateWaypointsField() { switch (waypoints).count { case 0: waypointsLabel.text = "No waypoints" @@ -110,79 +115,80 @@ class MainViewController: UIViewController { } } - @IBAction func advancedOptionsChanged(sender: UISwitch) { - UIView.animateWithDuration(0.5, animations: { - self.advancedView.alpha = (self.advancedSwitch.on ? 1.0 : 0.0) + @IBAction func advancedOptionsChanged(_ sender: UISwitch) { + UIView.animate(withDuration: 0.5, animations: { + self.advancedView.alpha = (self.advancedSwitch.isOn ? 1.0 : 0.0) }) } - @IBAction func selectDateButtonTouched(sender: UIButton) { - startArriveDateField.enabled = true + @IBAction func selectDateButtonTouched(_ sender: UIButton) { + startArriveDateField.isEnabled = true startArriveDateField.becomeFirstResponder() } - func doneButtonTouched(sender: UIBarButtonItem) { + func doneButtonTouched(_ sender: UIBarButtonItem) { updateStartArriveDateField((startArriveDateField.inputView as! UIDatePicker).date) startArriveDateField.resignFirstResponder() - startArriveDateField.enabled = false + startArriveDateField.isEnabled = false } - func clearButtonTouched(sender: UIBarButtonItem) { + func clearButtonTouched(_ sender: UIBarButtonItem) { updateStartArriveDateField(nil) startArriveDateField.resignFirstResponder() - startArriveDateField.enabled = false + startArriveDateField.isEnabled = false } - @IBAction func addWaypointButtonTouched(sender: UIButton) { - if let wpvc = self.storyboard?.instantiateViewControllerWithIdentifier("Waypoint") as? WaypointViewController { + @IBAction func addWaypointButtonTouched(_ sender: UIButton) { + if let wpvc = self.storyboard?.instantiateViewController(withIdentifier: "Waypoint") as? WaypointViewController { wpvc.delegate = self - self.presentViewController(wpvc, animated: true, completion: nil) + self.present(wpvc, animated: true, completion: nil) } } - @IBAction func clearWaypointsButtonTouched(sender: UIButton) { - waypoints.removeAll(keepCapacity: false) + @IBAction func clearWaypointsButtonTouched(_ sender: UIButton) { + waypoints.removeAll(keepingCapacity: false) updateWaypointsField() } - @IBAction func goButtonTouched(sender: UIButton) { + @IBAction func goButtonTouched(_ sender: UIButton) { directionsAPI.delegate = self - directionsAPI.from = PXLocation.NamedLocation(originField.text!) - directionsAPI.to = PXLocation.NamedLocation(destinationField.text!) + directionsAPI.from = PXLocation.namedLocation(originField.text!) + directionsAPI.to = PXLocation.namedLocation(destinationField.text!) directionsAPI.mode = modeFromField() - if advancedSwitch.on { + if advancedSwitch.isOn { directionsAPI.transitRoutingPreference = transitRoutingPreferenceFromField() + directionsAPI.trafficModel = trafficModelFromField() directionsAPI.units = unitFromField() - directionsAPI.alternatives = alternativeSwitch.on + directionsAPI.alternatives = alternativeSwitch.isOn directionsAPI.transitModes = Set() - if busSwitch.on { - directionsAPI.transitModes.insert(.Bus) + if busSwitch.isOn { + directionsAPI.transitModes.insert(.bus) } - if subwaySwitch.on { - directionsAPI.transitModes.insert(.Subway) + if subwaySwitch.isOn { + directionsAPI.transitModes.insert(.subway) } - if trainSwitch.on { - directionsAPI.transitModes.insert(.Train) + if trainSwitch.isOn { + directionsAPI.transitModes.insert(.train) } - if tramSwitch.on { - directionsAPI.transitModes.insert(.Tram) + if tramSwitch.isOn { + directionsAPI.transitModes.insert(.tram) } - if railSwitch.on { - directionsAPI.transitModes.insert(.Rail) + if railSwitch.isOn { + directionsAPI.transitModes.insert(.rail) } directionsAPI.featuresToAvoid = Set() - if avoidTollsSwitch.on { - directionsAPI.featuresToAvoid.insert(.Tolls) + if avoidTollsSwitch.isOn { + directionsAPI.featuresToAvoid.insert(.tolls) } - if avoidHighwaysSwitch.on { - directionsAPI.featuresToAvoid.insert(.Highways) + if avoidHighwaysSwitch.isOn { + directionsAPI.featuresToAvoid.insert(.highways) } - if avoidFerriesSwitch.on { - directionsAPI.featuresToAvoid.insert(.Ferries) + if avoidFerriesSwitch.isOn { + directionsAPI.featuresToAvoid.insert(.ferries) } switch startArriveField.selectedSegmentIndex { case 0: - directionsAPI.departureTime = .Now + directionsAPI.departureTime = .now directionsAPI.arrivalTime = nil case 1: if let saDate = startArriveDate { @@ -202,10 +208,11 @@ class MainViewController: UIViewController { break } directionsAPI.waypoints = waypoints - directionsAPI.optimizeWaypoints = optimizeWaypointsSwitch.on + directionsAPI.optimizeWaypoints = optimizeWaypointsSwitch.isOn directionsAPI.language = languageFromField() } else { directionsAPI.transitRoutingPreference = nil + directionsAPI.trafficModel = nil directionsAPI.units = nil directionsAPI.alternatives = nil directionsAPI.transitModes = Set() @@ -218,17 +225,17 @@ class MainViewController: UIViewController { } // directionsAPI.region = "fr" // Feature not demonstrated in this sample app directionsAPI.calculateDirections { (response) -> Void in - dispatch_async(dispatch_get_main_queue(), { () -> Void in + DispatchQueue.main.async(execute: { () -> Void in switch response { - case let .Error(_, error): - let alert = UIAlertController(title: "PXGoogleDirectionsSample", message: "Error: \(error.localizedDescription)", preferredStyle: UIAlertControllerStyle.Alert) - alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) - self.presentViewController(alert, animated: true, completion: nil) - case let .Success(request, routes): - if let rvc = self.storyboard?.instantiateViewControllerWithIdentifier("Results") as? ResultsViewController { + case let .error(_, error): + let alert = UIAlertController(title: "PXGoogleDirectionsSample", message: "Error: \(error.localizedDescription)", preferredStyle: UIAlertControllerStyle.alert) + alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil)) + self.present(alert, animated: true, completion: nil) + case let .success(request, routes): + if let rvc = self.storyboard?.instantiateViewController(withIdentifier: "Results") as? ResultsViewController { rvc.request = request rvc.results = routes - self.presentViewController(rvc, animated: true, completion: nil) + self.present(rvc, animated: true, completion: nil) } } }) @@ -237,27 +244,27 @@ class MainViewController: UIViewController { } extension MainViewController: PXGoogleDirectionsDelegate { - func googleDirectionsWillSendRequestToAPI(googleDirections: PXGoogleDirections, withURL requestURL: NSURL) -> Bool { + func googleDirectionsWillSendRequestToAPI(_ googleDirections: PXGoogleDirections, withURL requestURL: URL) -> Bool { NSLog("googleDirectionsWillSendRequestToAPI:withURL:") return true } - func googleDirectionsDidSendRequestToAPI(googleDirections: PXGoogleDirections, withURL requestURL: NSURL) { + func googleDirectionsDidSendRequestToAPI(_ googleDirections: PXGoogleDirections, withURL requestURL: URL) { NSLog("googleDirectionsDidSendRequestToAPI:withURL:") - NSLog("\(requestURL.absoluteString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)") + NSLog("\(requestURL.absoluteString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)") } - func googleDirections(googleDirections: PXGoogleDirections, didReceiveRawDataFromAPI data: NSData) { + func googleDirections(_ googleDirections: PXGoogleDirections, didReceiveRawDataFromAPI data: Data) { NSLog("googleDirections:didReceiveRawDataFromAPI:") - NSLog(NSString(data: data, encoding: NSUTF8StringEncoding) as! String) + NSLog(NSString(data: data, encoding: String.Encoding.utf8.rawValue) as! String) } - func googleDirectionsRequestDidFail(googleDirections: PXGoogleDirections, withError error: NSError) { + func googleDirectionsRequestDidFail(_ googleDirections: PXGoogleDirections, withError error: NSError) { NSLog("googleDirectionsRequestDidFail:withError:") NSLog("\(error)") } - func googleDirections(googleDirections: PXGoogleDirections, didReceiveResponseFromAPI apiResponse: [PXGoogleDirectionsRoute]) { + func googleDirections(_ googleDirections: PXGoogleDirections, didReceiveResponseFromAPI apiResponse: [PXGoogleDirectionsRoute]) { NSLog("googleDirections:didReceiveResponseFromAPI:") NSLog("Got \(apiResponse.count) routes") for i in 0 ..< apiResponse.count { @@ -267,7 +274,7 @@ extension MainViewController: PXGoogleDirectionsDelegate { } extension MainViewController: MainViewControllerDelegate { - func didAddWaypoint(waypoint: PXLocation) { + func didAddWaypoint(_ waypoint: PXLocation) { waypoints.append(waypoint) updateWaypointsField() } diff --git a/Sample/PXGoogleDirectionsSample/ResultsViewController.swift b/Sample/PXGoogleDirectionsSample/ResultsViewController.swift index 5b5efea..ffbf0d0 100644 --- a/Sample/PXGoogleDirectionsSample/ResultsViewController.swift +++ b/Sample/PXGoogleDirectionsSample/ResultsViewController.swift @@ -6,9 +6,9 @@ // Copyright (c) 2015 Poulpix. All rights reserved. // -import GoogleMaps import UIKit import PXGoogleDirections +import GoogleMaps class ResultsViewController: UIViewController { @IBOutlet weak var prevButton: UIButton! @@ -25,47 +25,47 @@ class ResultsViewController: UIViewController { mapView.delegate = self } - override func viewWillAppear(animated: Bool) { + override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) updateRoute() } - @IBAction func previousButtonTouched(sender: UIButton) { + @IBAction func previousButtonTouched(_ sender: UIButton) { routeIndex -= 1 updateRoute() } - @IBAction func nextButtonTouched(sender: UIButton) { + @IBAction func nextButtonTouched(_ sender: UIButton) { routeIndex += 1 updateRoute() } - @IBAction func closeButtonTouched(sender: UIButton) { - dismissViewControllerAnimated(true, completion: nil) + @IBAction func closeButtonTouched(_ sender: UIButton) { + dismiss(animated: true, completion: nil) } - @IBAction func openInGoogleMapsButtonTouched(sender: UIButton) { - if !request.openInGoogleMaps(center: nil, mapMode: .StreetView, view: Set(arrayLiteral: PXGoogleMapsView.Satellite, PXGoogleMapsView.Traffic, PXGoogleMapsView.Transit), zoom: 15, callbackURL: NSURL(string: "pxsample://"), callbackName: "PXSample") { - let alert = UIAlertController(title: "PXGoogleDirectionsSample", message: "Could not launch the Google Maps app. Maybe this app is not installed on this device?", preferredStyle: UIAlertControllerStyle.Alert) - alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) - self.presentViewController(alert, animated: true, completion: nil) + @IBAction func openInGoogleMapsButtonTouched(_ sender: UIButton) { + if !request.openInGoogleMaps(center: nil, mapMode: .streetView, view: Set(arrayLiteral: PXGoogleMapsView.satellite, PXGoogleMapsView.traffic, PXGoogleMapsView.transit), zoom: 15, callbackURL: URL(string: "pxsample://"), callbackName: "PXSample") { + let alert = UIAlertController(title: "PXGoogleDirectionsSample", message: "Could not launch the Google Maps app. Maybe this app is not installed on this device?", preferredStyle: UIAlertControllerStyle.alert) + alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil)) + self.present(alert, animated: true, completion: nil) } } func updateRoute() { - prevButton.enabled = (routeIndex > 0) - nextButton.enabled = (routeIndex < (results).count - 1) + prevButton.isEnabled = (routeIndex > 0) + nextButton.isEnabled = (routeIndex < (results).count - 1) routesLabel.text = "\(routeIndex + 1) of \((results).count)" mapView.clear() for i in 0 ..< results.count { if i != routeIndex { - results[i].drawOnMap(mapView, approximate: false, strokeColor: UIColor.lightGrayColor(), strokeWidth: 3.0) + results[i].drawOnMap(mapView, approximate: false, strokeColor: UIColor.lightGray, strokeWidth: 3.0) } } - mapView.animateWithCameraUpdate(GMSCameraUpdate.fitBounds(results[routeIndex].bounds, withPadding: 40.0)) - results[routeIndex].drawOnMap(mapView, approximate: false, strokeColor: UIColor.purpleColor(), strokeWidth: 4.0) - results[routeIndex].drawOriginMarkerOnMap(mapView, title: "Origin", color: UIColor.greenColor(), opacity: 1.0, flat: true) - results[routeIndex].drawDestinationMarkerOnMap(mapView, title: "Destination", color: UIColor.redColor(), opacity: 1.0, flat: true) + mapView.animate(with: GMSCameraUpdate.fit(results[routeIndex].bounds!, withPadding: 40.0)) + results[routeIndex].drawOnMap(mapView, approximate: false, strokeColor: UIColor.purple, strokeWidth: 4.0) + results[routeIndex].drawOriginMarkerOnMap(mapView, title: "Origin", color: UIColor.green, opacity: 1.0, flat: true) + results[routeIndex].drawDestinationMarkerOnMap(mapView, title: "Destination", color: UIColor.red, opacity: 1.0, flat: true) directions.reloadData() } } @@ -74,44 +74,44 @@ extension ResultsViewController: GMSMapViewDelegate { } extension ResultsViewController: UITableViewDataSource { - func numberOfSectionsInTableView(tableView: UITableView) -> Int { + func numberOfSections(in tableView: UITableView) -> Int { return (results[routeIndex].legs).count } - func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return (results[routeIndex].legs[section].steps).count } - func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? { + func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { let leg = results[routeIndex].legs[section] - if let dist = leg.distance?.description, dur = leg.duration?.description { + if let dist = leg.distance?.description, let dur = leg.duration?.description { return "Step \(section + 1) (\(dist), \(dur))" } else { return "Step \(section + 1)" } } - func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { - var cell = tableView.dequeueReusableCellWithIdentifier("RouteStep") + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + var cell = tableView.dequeueReusableCell(withIdentifier: "RouteStep") if (cell == nil) { - cell = UITableViewCell(style: .Subtitle, reuseIdentifier: "RouteStep") + cell = UITableViewCell(style: .subtitle, reuseIdentifier: "RouteStep") } let step = results[routeIndex].legs[indexPath.section].steps[indexPath.row] if let instr = step.rawInstructions { cell!.textLabel!.text = instr } - if let dist = step.distance?.description, dur = step.duration?.description { + if let dist = step.distance?.description, let dur = step.duration?.description { cell!.detailTextLabel?.text = "\(dist), \(dur)" } return cell! } - func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { + func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) { let step = results[routeIndex].legs[indexPath.section].steps[indexPath.row] - mapView.animateWithCameraUpdate(GMSCameraUpdate.fitBounds(step.bounds, withPadding: 40.0)) + mapView.animate(with: GMSCameraUpdate.fit(step.bounds!, withPadding: 40.0)) } - func tableView(tableView: UITableView, accessoryButtonTappedForRowWithIndexPath indexPath: NSIndexPath) { + func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith indexPath: IndexPath) { let step = results[routeIndex].legs[indexPath.section].steps[indexPath.row] var msg: String if let m = step.maneuver { @@ -119,9 +119,9 @@ extension ResultsViewController: UITableViewDataSource { } else { msg = "\(step.rawInstructions!)\nFrom: (\(step.startLocation!.latitude); \(step.startLocation!.longitude))\nTo: (\(step.endLocation!.latitude); \(step.endLocation!.longitude))" } - let alert = UIAlertController(title: "PXGoogleDirectionsSample", message: msg, preferredStyle: UIAlertControllerStyle.Alert) - alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil)) - self.presentViewController(alert, animated: true, completion: nil) + let alert = UIAlertController(title: "PXGoogleDirectionsSample", message: msg, preferredStyle: UIAlertControllerStyle.alert) + alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil)) + self.present(alert, animated: true, completion: nil) } } diff --git a/Sample/PXGoogleDirectionsSample/WaypointViewController.swift b/Sample/PXGoogleDirectionsSample/WaypointViewController.swift index 7df3995..29cee3f 100644 --- a/Sample/PXGoogleDirectionsSample/WaypointViewController.swift +++ b/Sample/PXGoogleDirectionsSample/WaypointViewController.swift @@ -18,40 +18,40 @@ class WaypointViewController: UIViewController { @IBOutlet weak var longitudeField: UITextField! var delegate: MainViewControllerDelegate! - @IBAction func cancelButtonTouched(sender: UIButton) { - dismissViewControllerAnimated(true, completion: nil) + @IBAction func cancelButtonTouched(_ sender: UIButton) { + dismiss(animated: true, completion: nil) } - @IBAction func locationTypeChanged(sender: UISegmentedControl) { + @IBAction func locationTypeChanged(_ sender: UISegmentedControl) { switch sender.selectedSegmentIndex { case 0: - namedLocationView.hidden = false - coordinateLocationView.hidden = true + namedLocationView.isHidden = false + coordinateLocationView.isHidden = true case 1: - namedLocationView.hidden = true - coordinateLocationView.hidden = false + namedLocationView.isHidden = true + coordinateLocationView.isHidden = false default: break } } - @IBAction func addWaypointButtonTouched(sender: UIButton) { + @IBAction func addWaypointButtonTouched(_ sender: UIButton) { var waypoint: PXLocation? - if !namedLocationView.hidden { + if !namedLocationView.isHidden { if namedLocationField.text!.characters.count > 0 { - waypoint = PXLocation.NamedLocation(namedLocationField.text!) + waypoint = PXLocation.namedLocation(namedLocationField.text!) } } - if !coordinateLocationView.hidden { + if !coordinateLocationView.isHidden { if latitudeField.text!.characters.count > 0 && longitudeField.text!.characters.count > 0 { let lat = NSString(string: latitudeField.text!).doubleValue let lng = NSString(string: longitudeField.text!).doubleValue - waypoint = PXLocation.CoordinateLocation(CLLocationCoordinate2DMake(lat, lng)) + waypoint = PXLocation.coordinateLocation(CLLocationCoordinate2DMake(lat, lng)) } } if let wp = waypoint { delegate.didAddWaypoint(wp) - dismissViewControllerAnimated(true, completion: nil) + dismiss(animated: true, completion: nil) } } } diff --git a/Sample/Podfile b/Sample/Podfile index 0c8430a..9178f68 100755 --- a/Sample/Podfile +++ b/Sample/Podfile @@ -1,8 +1,8 @@ source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' +platform :ios, '8.1' use_frameworks! target 'PXGoogleDirectionsSample' do - pod 'PXGoogleDirections', :git => 'https://github.com/poulpix/PXGoogleDirections.git', :commit => 'e6ea681876a72374d16951bb0cce35bb04c6eeca' + pod 'PXGoogleDirections', :path => '../' end