maps
maps copied to clipboard
[Bug]: Error in ViewAnnotationManager.swift when running React Native app on iOS 18
Mapbox Implementation
Mapbox
Mapbox Version
= 11.4.0
React Native Version
0.74.3
Platform
iOS
@rnmapbox/maps
version
^10.0.0-beta.28
Standalone component to reproduce
Steps to Reproduce
1. Upgrade iOS version to 18 and Xcode to 16.0
2. Install the latest version of rnmapbox/maps and MapboxMaps.
3. Run the React Native app using `npm run ios`.
import React from 'react';
import {
MapView,
ShapeSource,
LineLayer,
Camera,
} from '@rnmapbox/maps';
const aLine = {
type: 'LineString',
coordinates: [
[-74.00597, 40.71427],
[-74.00697, 40.71527],
],
};
class BugReportExample extends React.Component {
render() {
return (
<MapView style={{flex: 1}}>
<Camera centerCoordinate={[-74.00597, 40.71427]} zoomLevel={14} />
<ShapeSource id="idStreetLayer" shape={aLine}>
<LineLayer id="idStreetLayer" />
</ShapeSource>
</MapView>
);
}
}
Observed behavior and steps to reproduce
I am experiencing an issue when running my React Native application using the rnmapbox/maps library on iOS 18 and xcode 16.0
Before the update there was no problem.
The build fails with a Swift type conversion error in ViewAnnotationManager.swift.
❌ (ios/Pods/MapboxMaps/Sources/MapboxMaps/Annotations/ViewAnnotationManager.swift:79:19)
77 | @available(*, deprecated, message: "Use ViewAnnotation")
78 | public var annotations: [UIView: ViewAnnotationOptions] {
> 79 | idsByView.compactMapValues { [mapboxMap] id in
| ^ cannot convert return expression of type '[UIView : ViewAnnotationOptions]' to return type 'Dictionary<String, Optional<JSONValue>>.RawValue'
80 | try? mapboxMap.options(forViewAnnotationWithId: id)
81 | }
82 | }
The build fails due to an error related to ViewAnnotationManager.swift in the MapboxMaps library. The error points to a type conversion issue between [UIView : ViewAnnotationOptions] and Dictionary<String, Optional<JSONValue>>.RawValue.
Expected behavior
The application should build successfully and work as expected on iOS 18 and xcode 16.0
Notes / preliminary analysis
No response
Additional links and references
No response