App is functional
|
Your app launches and runs in the visionOS simulator without issues. The core functionality of your app works as expected.
|
Run and exercise your app in the visionOS simulator to confirm there aren’t any issues during all use cases.
|
No bugs are exhibited
|
The app’s features and functions work as intended without issue.
|
Check your app’s features in the visionOS simulator to confirm there aren’t any issues during primary task completion. Step through each view, page, layout, button, and feature to check functionality.
|
App is performant
|
Your app performs without visual disruption or stressing thermal and power facilities on iPad with M1 or later. Verify that the app runs smoothly in the visionOS simulator.
|
Check that your app performs smoothly on iPad or iPhone and in the visionOS simulator.
|
App doesn’t make capability assumptions
|
Your app doesn’t depend on specific device features or functions that aren’t available on Apple Vision Pro.
|
Ensure that your app considers authorization status and availability when using system features. Handle any unavailable features gracefully and provide alternatives wherever possible. Also make sure to handle instances where user permission isn’t granted.
|
App launches in the correct orientation
|
Your app launches in the expected orientation for primary use. If your app supports multiple layouts, also verify that the rotation button appears and works as expected.
|
Make sure your app specifies a preferred orientation in your Info.plist, as there’s no concept of rotating Apple Vision Pro.
|
App doesn’t rely on a camera
|
Your app works without a rear camera or front FaceTime camera for taking photos or video. If a feature uses the camera, the app provides the option to choose from the photo library up front or a method to gracefully exit the camera view to continue use of the app.
|
Apple Vision Pro cameras aren’t accessible in the same way as iPhone and iPad. Make sure your app provides alternatives when a camera isn’t available.
|
App doesn’t require precise location
|
Your app doesn’t rely on precise user location or GPS data in order to facilitate core functionality.
|
Apple Vision Pro doesn’t have GPS functions and supports basic location services. Also consider any potential safety implications of your app on Apple Vision Pro.
|
App doesn’t rely on more than two touch inputs
|
Your app doesn’t have features that rely on more than two touch inputs at once, without an alternative method, to complete a necessary task.
|
visionOS supports a maximum of two simultaneous touch inputs — one for each of the user’s hands. All system gesture recognizers handle these inputs correctly, including for zoom and rotation gestures that require multiple fingers. If you have custom gesture recognizers that require more than two fingers, update them to support one or two touches in visionOS.
If you have a game, verify that it’s playable and a good experience with only two simultaneous inputs. If your game requires more than two inputs, as with many virtual on-screen controls, consider supporting physical game controllers and set GCSupportsControllerUserInteraction properly to enable a “Requires Game Controller” badge on the App Store.
|