- Also submitted as https://feedbackassistant.apple.com/feedback/10763106
- Tracked in MapLibre (with screenshots & videos) under https://github.com/maplibre/maplibre-gl-native-distribution/issues/7
Background
The MapLibre project provides iOS binaries for both x86_64
& arm64
which allows for Simulator development on either Intel or Apple Silicon architectures. MapLibre is an Open GL project, and we are aware of the requirement of Metal.
When using the Mapbox.xcframework
for a 3rd party map project, there are several issues when targeting the iOS Simulator for arm64
.
Issues
- MapLibre targeting
arm64
iOS Simulators 14.5 & 16.0 have a drawing error that is eventually fixed when the map is at steady state. - MapLibre targeting
arm64
iOS Simulators 15.4 & 15.5 have a drawing error, followed by an exception when moving the map.
Questions
- Why does setting
EXCLUDED_ARCHS
, and force targetingx86_64
seem to be the accepted workaround for Simulators on Apple Silicon?EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64
- What changed from iOS Simulator 14.5 to 15.5 and to 16.0?
- Why so many log warnings for
'cyclone' is not a recognized processor for this target (ignoring processor)
? These are fixed when targetingx86_64
.
- Why so many log warnings for
Test environment
- macOS Ventura 13.0 Beta (22A5295i). Occurs on Big Sur on M1 Apple Silicon, too.
- Xcode Version 14.0 beta 3 (14A5270f). Occurs with Xcode 13.4, too.
- M1 Apple Silicon
- No issue when running on iOS Devices
Mapbox.xcframework
lipo information
lipo -info Mapbox.xcframework/ios-arm64_armv7/Mapbox.framework/Mapbox
Architectures in the fat file: Mapbox.xcframework/ios-arm64_armv7/Mapbox.framework/Mapbox are: armv7 arm64
lipo -info Mapbox.xcframework/ios-arm64_i386_x86_64-simulator/Mapbox.framework/Mapbox
Architectures in the fat file: Mapbox.xcframework/ios-arm64_i386_x86_64-simulator/Mapbox.framework/Mapbox are: x86_64 i386 arm64
arm64
Simulator throws many not recognized processor warnings.
'cyclone' is not a recognized processor for this target (ignoring processor)