Description
Update: This issue has been fixed as of v2.0.0-alpha.1, but there are no plans to fix it in v1.x. A workaround is in place that allows v1.x to build for devices and simulators on Intel-based Macs and to build for devices but not simulators on Apple Silicon–based Macs.
The linker error in #2665 (specific to CocoaPods and Xcode 12) forced us to implement a workaround in #2667 that sets the EXCLUDED_ARCHS
build setting not only in the MapboxCoreNavigation and MapboxNavigation framework targets but also in the developer’s application target. That gets us past the immediate issue and allows us to release v1.0.0, but it sets us up for incompatibility down the line. If another pod employs the same workaround, an application would be unable to install both pods at the same time.
The better fix is to rebuild all three binary dependencies with Xcode 12 and distribute them as XCFrameworks. Once that build is available, we can remove the workaround from the podspecs:
- Mapbox [map SDK]: Distribute as XCFramework mapbox-gl-native-ios#171 Supporting Apple Silicon mapbox-maps-ios#48
- MapboxAccounts mapbox/mapbox-accounts-ios-internal#36 - released in v2.3.1
- MapboxNavigationNative mapbox/mapbox-navigation-native#2031 - released in v28.1.0
Migrating these dependencies to XCFrameworks will also allow developers to use Carthage directly without a workaround script once Carthage/Carthage#3019 is released.
/cc @mapbox/navigation-ios