Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace occurrences of VisionOS with visionOS #2111

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Mapbox welcomes participation and contributions from everyone.

### Features ✨ and improvements 🏁

* Vision OS support. 🚀
* visionOS support. 🚀
* Add easing curve parameter to `CameraAnimationsManager.fly(to:duration:curve:completion)`, make `TimingCurve` public with few more options.
* Expose `MapboxMap.centerAltitudeMode` and ensure correct `centerAltitudeMode` on gesture ending.
* Expose extra configuration methods for `MapboxMap`: `setNorthOrientation(_:)`, `setConstrainMode(_:)` and `setViewportMode(_:)`.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Work with VisionOS
# Work with visionOS

Use Mapbox Maps in native applications for Apple Vision Pro.

Expand All @@ -10,17 +10,17 @@ Starting from version `11.2.0-beta.1` of Mapbox Maps, you can use the Mapbox Map

- Note: Currently, visionOS is not supported in CocoaPods. Please use SPM or the binary [distribution](https://docs.mapbox.com/ios/maps/guides/install/) of MapboxMaps.

### Make use of Mapbox Maps on VisionOS
### Make use of Mapbox Maps on visionOS

Working with Mapbox Maps on VisionOS is very similar to iOS. As the entry point to the map, you use ``Map`` if your application uses SwiftUI, and ``MapView`` if the application uses UIKit. You can find more information about SwiftUI support in <doc:SwiftUI-User-Guide>.
Working with Mapbox Maps on visionOS is very similar to iOS. As the entry point to the map, you use ``Map`` if your application uses SwiftUI, and ``MapView`` if the application uses UIKit. You can find more information about SwiftUI support in <doc:SwiftUI-User-Guide>.

Most of the Maps SDK's features from iOS are supported on VisionOS out-of-the-box. However, there are some platform limitations discussed below.
Most of the Maps SDK's features from iOS are supported on visionOS out-of-the-box. However, there are some platform limitations discussed below.

### Limitations

#### Eye tracking feedback

All the interactive UI elements on Vision OS are expected to have visual feedback when the user looks at them. Currently, this effect is only available for native views and can be applied with [hoverEffect](https://developer.apple.com/documentation/swiftui/view/hovereffect(_:)). Mapbox Map renders most of the map content in Metal, which means the hover won't be available for map symbols, lines, polygons, and others. However, you can use [view annotations](https://docs.mapbox.com/ios/maps/guides/annotations/view-annotations/) to place interactive elements onto the map.
All the interactive UI elements on visionOS are expected to have visual feedback when the user looks at them. Currently, this effect is only available for native views and can be applied with [hoverEffect](https://developer.apple.com/documentation/swiftui/view/hovereffect(_:)). Mapbox Map renders most of the map content in Metal, which means the hover won't be available for map symbols, lines, polygons, and others. However, you can use [view annotations](https://docs.mapbox.com/ios/maps/guides/annotations/view-annotations/) to place interactive elements onto the map.

```swift
Map {
Expand Down
2 changes: 1 addition & 1 deletion Sources/MapboxMaps/Foundation/MetalView.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import MetalKit

#if swift(>=5.9) && os(visionOS)
/// Implements analog of MTKView on top of CAMetalLayer. Currently is used only for VisionOS rendering.
/// Implements analog of MTKView on top of CAMetalLayer. Currently is used only for visionOS rendering.
class MetalView: UIView, CoreMetalView {
var presentsWithTransaction: Bool {
get { metalLayer.presentsWithTransaction }
Expand Down
2 changes: 1 addition & 1 deletion Sources/MapboxMaps/Location/LocationManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public final class LocationManager {

/// Sets the custom provider that supply puck with the location and heading data.
///
/// - Note: On VisionOS, the ``AppleLocationProvider`` doesn't implement ``HeadingProvider``.
/// - Note: On visionOS, the ``AppleLocationProvider`` doesn't implement ``HeadingProvider``.
/// If you are using a custom instance of a location provider, override it using the ``LocationManager/override(locationProvider:headingProvider:)-8xcsf`` .
///
/// - Parameters:
Expand Down
2 changes: 1 addition & 1 deletion scripts/api-compatibility-check/breakage_allowlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1324,7 +1324,7 @@ Func CameraAnimationsManager.fly(to:duration:completion:) has parameter 2 type c
Func MapboxMap.camera(for:padding:bearing:pitch:maxZoom:offset:) has parameter 1 type change from UIKit.UIEdgeInsets to UIKit.UIEdgeInsets?


// VisionOS support
// visionOS support
Func MapViewMetricsReporter.afterMetalViewDrawCallback(metalView:) has been renamed to Func afterMetalViewDrawCallback()
Func MapViewMetricsReporter.beforeMetalViewDrawCallback(metalView:) has been renamed to Func beforeMetalViewDrawCallback()
Constructor MapOptions.init(constrainMode:viewportMode:orientation:crossSourceCollisions:size:pixelRatio:glyphsRasterizationOptions:) has parameter 5 type change from CoreGraphics.CGFloat to CoreGraphics.CGFloat?
Expand Down