Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

SDK won't compile with Xcode 7.3.1 #6906

Closed
boundsj opened this issue Nov 4, 2016 · 4 comments
Closed

SDK won't compile with Xcode 7.3.1 #6906

boundsj opened this issue Nov 4, 2016 · 4 comments
Assignees
Labels
build iOS Mapbox Maps SDK for iOS macOS Mapbox Maps SDK for macOS release blocker Blocks the next final release
Milestone

Comments

@boundsj
Copy link
Contributor

boundsj commented Nov 4, 2016

Changes introduced in e2797d1 broke the project when using Xcode 7.3.1. Specifically:

  • In MGLGeoJSONSource.h, const was moved so that MGLOfflinePackProgressChangedNotification, MGLOfflinePackErrorNotification, and MGLOfflinePackMaximumMapboxTilesReachedNotification are pointers to constant NSString instead of constant pointers to NSString. This fails to compile in Xcode 7.3.1 at the call site
  • In MGLTypes
    • the new shim does not define NSErrorDomain and is not above where NSErrorDomain is used
    • #if !defined(FOUNDATION_SWIFT_SDK_EPOCH_LESS_THAN) || FOUNDATION_SWIFT_SDK_EPOCH_LESS_THAN(8) actually uses FOUNDATION_SWIFT_SDK_EPOCH_LESS_THAN which is not defined before iOS 10.0

cc @1ec5

@boundsj boundsj added build release blocker Blocks the next final release labels Nov 4, 2016
@boundsj boundsj added this to the ios-v3.4.0 milestone Nov 4, 2016
@boundsj boundsj added iOS Mapbox Maps SDK for iOS macOS Mapbox Maps SDK for macOS labels Nov 4, 2016
@boundsj
Copy link
Contributor Author

boundsj commented Nov 4, 2016

7.3.1 is required as noted in #6842

@1ec5
Copy link
Contributor

1ec5 commented Nov 4, 2016

#if !defined(FOUNDATION_SWIFT_SDK_EPOCH_LESS_THAN) || FOUNDATION_SWIFT_SDK_EPOCH_LESS_THAN(8) actually uses FOUNDATION_SWIFT_SDK_EPOCH_LESS_THAN which is not defined before iOS 10.0

Shouldn't it short-circuit on the first clause?

@boundsj
Copy link
Contributor Author

boundsj commented Nov 4, 2016

Shouldn't it short-circuit on the first clause?

It did not appear to do that

@1ec5 1ec5 self-assigned this Nov 4, 2016
1ec5 added a commit that referenced this issue Nov 4, 2016
Define NSErrorDomain before its first use. Define NSNotificationName as a typedef instead of a #define. Guard these shims on the existence of NS_STRING_ENUM rather than another macro that’s new to Xcode 8.

Fixes #6906.
1ec5 added a commit that referenced this issue Nov 4, 2016
Define NSErrorDomain before its first use. Define NSNotificationName as a typedef instead of a #define. Guard these shims on the existence of NS_STRING_ENUM rather than another macro that’s new to Xcode 8.

Fixes #6906.
@boundsj
Copy link
Contributor Author

boundsj commented Nov 7, 2016

Fixed by #6923

@boundsj boundsj closed this as completed Nov 7, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
build iOS Mapbox Maps SDK for iOS macOS Mapbox Maps SDK for macOS release blocker Blocks the next final release
Projects
None yet
Development

No branches or pull requests

2 participants