summaryrefslogtreecommitdiff
path: root/platform/ios
diff options
context:
space:
mode:
authorJason Wray <jason@mapbox.com>2016-08-17 15:30:39 -0400
committerJason Wray <jason@mapbox.com>2016-08-18 11:35:32 -0400
commit256689a33d465e8909e9bc5883ee3340551c7dca (patch)
tree13827aba761640fab50b8a56391699c4fbda99da /platform/ios
parent7de7f9dc918c3faf2dde3240698b76a97f3e8408 (diff)
downloadqtlocation-mapboxgl-256689a33d465e8909e9bc5883ee3340551c7dca.tar.gz
[ios, macos] Make Xcode 7.3 the minimum required version
- Removes nullability shims for Xcode 6. - Removes MGLTypes.h from files where it was only being used for nullability support. - Accepts that `NS_SWIFT_NAME` is not fully supported by Xcode 7.2 and lower. - Adds documentation about Xcode 7.3 requirement.
Diffstat (limited to 'platform/ios')
-rw-r--r--platform/ios/CHANGELOG.md1
-rw-r--r--platform/ios/DEVELOPING.md3
-rw-r--r--platform/ios/INSTALL.md4
-rw-r--r--platform/ios/docs/pod-README.md2
-rw-r--r--platform/ios/src/MGLAPIClient.h8
-rw-r--r--platform/ios/src/MGLAnnotationImage.h2
-rw-r--r--platform/ios/src/MGLAnnotationView.h2
-rw-r--r--platform/ios/src/MGLCalloutView.h2
-rw-r--r--platform/ios/src/MGLMapView+IBAdditions.h2
-rw-r--r--platform/ios/src/MGLUserLocation.h2
-rw-r--r--platform/ios/src/MGLUserLocationAnnotationView.h2
11 files changed, 15 insertions, 15 deletions
diff --git a/platform/ios/CHANGELOG.md b/platform/ios/CHANGELOG.md
index 49e6369b6f..41afd5403d 100644
--- a/platform/ios/CHANGELOG.md
+++ b/platform/ios/CHANGELOG.md
@@ -6,6 +6,7 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONT
* A new runtime styling API allows you to adjust the style and content of the base map dynamically. All the options available in [Mapbox Studio](https://www.mapbox.com/studio/) are now exposed via MGLStyle and subclasses of MGLStyleLayer and MGLSource. ([#5727](https://github.com/mapbox/mapbox-gl-native/pull/5727))
* The user location annotation is now customizable via the newly added `MGLUserLocationAnnotationView` class. ([#5882](https://github.com/mapbox/mapbox-gl-native/pull/5882))
+* Xcode 7.3 or higher is now required to use this SDK. ([#6059](https://github.com/mapbox/mapbox-gl-native/issues/6059))
* Simulator architecture slices are included in the included dSYM file, allowing you to symbolicate crashes that occur in the Simulator. ([#5740](https://github.com/mapbox/mapbox-gl-native/pull/5740))
* As the user zooms in, tiles from lower zoom levels are scaled up until tiles for higher zoom levels are loaded. ([#5143](https://github.com/mapbox/mapbox-gl-native/pull/5143))
* Fixed an issue causing the wrong annotation view to be selected when tapping an annotation view with a center offset applied. ([#5931](https://github.com/mapbox/mapbox-gl-native/pull/5931))
diff --git a/platform/ios/DEVELOPING.md b/platform/ios/DEVELOPING.md
index 5ba6871959..704a357ce6 100644
--- a/platform/ios/DEVELOPING.md
+++ b/platform/ios/DEVELOPING.md
@@ -6,6 +6,8 @@ This document explains how to build the Mapbox iOS SDK from source. It is intend
The Mapbox iOS SDK and iosapp demo application build against the iOS 7.0 SDK. The SDK is intended to run on iOS 7.0 and above, while iosapp is intended to run on iOS 8.0 and above due to the use of a dynamic framework. Both require Xcode on a computer running macOS.
+The Mapbox iOS SDK requires Xcode 7.3 or higher.
+
## Building the SDK
Make sure that you have the [core dependencies](../../INSTALL.md) installed.
@@ -83,6 +85,7 @@ To add an Objective-C class, protocol, category, typedef, enumeration, or global
To add an Objective-C header or implementation file to the iOS SDK:
1. Add the file to the Headers or Compile Sources build phase, as appropriate, of both the “dynamic” and “static” targets. You can either use the Build Phases tab of the project editor or the Target Membership section of the File inspector.
+1. Audit new headers for nullability. Typically, you will wrap a header with `NS_ASSUME_NONNULL_BEGIN` and `NS_ASSUME_NONNULL_END`.
1. _(Optional.)_ If it’s a public header, change its visibility from Project to Public and import it in [the iOS SDK’s umbrella header](./src/Mapbox.h).
1. _(Optional.)_ If the file would also be used by the macOS SDK, make sure it’s in [platform/darwin/src/](../darwin/src/), then consult [the companion macOS document](../macos/DEVELOPING.md#adding-a-source-code-file) for further instructions.
diff --git a/platform/ios/INSTALL.md b/platform/ios/INSTALL.md
index bdda38946d..1f0975f477 100644
--- a/platform/ios/INSTALL.md
+++ b/platform/ios/INSTALL.md
@@ -4,12 +4,14 @@ This document explains how to build a development version of Mapbox iOS SDK for
### Requirements
-The Mapbox iOS SDK application builds against the iOS 7.0 SDK. It is intended to run on iOS 7.0 and above on the following devices and their simulators:
+The Mapbox iOS SDK builds against the iOS 7.0 SDK. It is intended to run on iOS 7.0 and above on the following devices and their simulators:
* iPhone 4S and above (5, 5c, 5s, 6, 6 Plus)
* iPad 2 and above (3, 4, Mini, Air, Mini 2, Air 2)
* iPod touch 5th generation and above
+The Mapbox iOS SDK requires Xcode 7.3 or higher.
+
### Building the SDK
1. [Install core dependencies](../../INSTALL.md).
diff --git a/platform/ios/docs/pod-README.md b/platform/ios/docs/pod-README.md
index 93aa18bc65..2d6134e6e0 100644
--- a/platform/ios/docs/pod-README.md
+++ b/platform/ios/docs/pod-README.md
@@ -10,6 +10,8 @@ For more information, check out the [Mapbox iOS SDK homepage](https://www.mapbox
The Mapbox iOS SDK may be installed as either a dynamic framework or a static framework. (To reduce the download size, the static framework is omitted from some distributions; you may need to download the full package from the [release page](https://github.com/mapbox/mapbox-gl-native/releases/).)
+Integrating the Mapbox iOS SDK requires Xcode 7.3 or higher.
+
{{DYNAMIC}}
### Dynamic framework
diff --git a/platform/ios/src/MGLAPIClient.h b/platform/ios/src/MGLAPIClient.h
index ef64b021b7..0f8926d360 100644
--- a/platform/ios/src/MGLAPIClient.h
+++ b/platform/ios/src/MGLAPIClient.h
@@ -3,10 +3,14 @@
#import "MGLMapboxEvents.h"
#import "MGLTypes.h"
+NS_ASSUME_NONNULL_BEGIN
+
@interface MGLAPIClient : NSObject <NSURLSessionDelegate>
-- (void)postEvents:(nonnull NS_ARRAY_OF(MGLMapboxEventAttributes *) *)events completionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler;
-- (void)postEvent:(nonnull MGLMapboxEventAttributes *)event completionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler;
+- (void)postEvents:(NS_ARRAY_OF(MGLMapboxEventAttributes *) *)events completionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler;
+- (void)postEvent:(MGLMapboxEventAttributes *)event completionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler;
- (void)cancelAll;
@end
+
+NS_ASSUME_NONNULL_END
diff --git a/platform/ios/src/MGLAnnotationImage.h b/platform/ios/src/MGLAnnotationImage.h
index 5ded4016f7..a7003d7f91 100644
--- a/platform/ios/src/MGLAnnotationImage.h
+++ b/platform/ios/src/MGLAnnotationImage.h
@@ -1,7 +1,5 @@
#import <UIKit/UIKit.h>
-#import "MGLTypes.h"
-
NS_ASSUME_NONNULL_BEGIN
/**
diff --git a/platform/ios/src/MGLAnnotationView.h b/platform/ios/src/MGLAnnotationView.h
index 5469841036..634e9ad723 100644
--- a/platform/ios/src/MGLAnnotationView.h
+++ b/platform/ios/src/MGLAnnotationView.h
@@ -1,7 +1,5 @@
#import <UIKit/UIKit.h>
-#import "MGLTypes.h"
-
NS_ASSUME_NONNULL_BEGIN
@protocol MGLAnnotation;
diff --git a/platform/ios/src/MGLCalloutView.h b/platform/ios/src/MGLCalloutView.h
index 27d173b230..6918aad614 100644
--- a/platform/ios/src/MGLCalloutView.h
+++ b/platform/ios/src/MGLCalloutView.h
@@ -1,7 +1,5 @@
#import <Foundation/Foundation.h>
-#import "MGLTypes.h"
-
NS_ASSUME_NONNULL_BEGIN
@protocol MGLCalloutViewDelegate;
diff --git a/platform/ios/src/MGLMapView+IBAdditions.h b/platform/ios/src/MGLMapView+IBAdditions.h
index f18df56e01..3766d044d8 100644
--- a/platform/ios/src/MGLMapView+IBAdditions.h
+++ b/platform/ios/src/MGLMapView+IBAdditions.h
@@ -1,7 +1,5 @@
#import <Foundation/Foundation.h>
-#import "MGLTypes.h"
-
@class MGLMapView;
NS_ASSUME_NONNULL_BEGIN
diff --git a/platform/ios/src/MGLUserLocation.h b/platform/ios/src/MGLUserLocation.h
index 81f9557b16..f2243815cf 100644
--- a/platform/ios/src/MGLUserLocation.h
+++ b/platform/ios/src/MGLUserLocation.h
@@ -3,8 +3,6 @@
#import "MGLAnnotation.h"
-#import "MGLTypes.h"
-
NS_ASSUME_NONNULL_BEGIN
/**
diff --git a/platform/ios/src/MGLUserLocationAnnotationView.h b/platform/ios/src/MGLUserLocationAnnotationView.h
index 5e0a805f3a..15e37622d6 100644
--- a/platform/ios/src/MGLUserLocationAnnotationView.h
+++ b/platform/ios/src/MGLUserLocationAnnotationView.h
@@ -2,8 +2,6 @@
#import <CoreLocation/CoreLocation.h>
#import <Mapbox/Mapbox.h>
-#import "MGLTypes.h"
-
NS_ASSUME_NONNULL_BEGIN
@class MGLMapView;