Skip to content

Binary dependencies are unavailable in XCFramework format #2672

Closed
@1ec5

Description

@1ec5

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:

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

Metadata

Metadata

Assignees

Labels

UIWork related to visual components, Android Auto, Camera, 3D, voice, etc.buildIssues related to builds and dependency management.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions