Hello! Could please someone help me with such question: in Xcode I could see that there are two possible destinations for Apple Vision - Apple vision vs Apple vision (Designed for iPad). So while I tried to test my app, I noticed that it is possible that my app crashes on Apple Vision for visionOs sdk, but runs on the designed for iPad version and when launched they looks differently. Does it mean that if I want to make sure that my app works correctly for real device, then I should test it on the Apple Vision for visionOs sdk?
Apple vision vs Apple vision (Designed for iPad)
Hi Vlada,
Yep, the app will look different depending on the run destination.
Designed for iPad - this will utilize your iOS app that runs on the iPad and run it on the Apple Vision Pro as-is. This means it will look and behave exactly like your iPad app and will not get the look and feel of a visionOS app.
Apple Vision for visionOS - this is the native visionOS app. Since there are differences in how visionOS and iOS work, some code may not be compatible which is why you are seeing a crash. This run destination will give you an app with the visionOS look (like the glass backgrounds and ornaments). If you want your app to look like this, then test it on this target.
Your app will run on the Apple Vision Pro either way, it just depends on how you want the interaction and style of the app to be.
These three articles may help: https://developer.apple.com/documentation/visionos/bringing-your-app-to-visionos, https://developer.apple.com/documentation/visionos/checking-whether-your-app-is-compatible-with-visionos, https://developer.apple.com/documentation/visionos/making-your-app-compatible-with-visionos
You may what to check out this developer session for more details: https://developer.apple.com/videos/play/wwdc2023/10090/. It depends on how you want your app to run on visionOS, both deployment targets are supported.
I have a question for this. My company's app was created initially as UIKit one, and then we have been migrating slowly to use SwiftUI, base the app still uses App Delegate to create initial views. I can not enable yet Apple Vision target, because we use some modules and dependencies that can't compile for Vision OS. The app still runs fine for Apple Vision (Designed for iPad), but as I understand in that case we can't use new feature from Vision OS. Is there a way that from targeting Apple Vision (Designed for iPad) I can for example display for example a Volume View?
I need to use Designed for iPad until certain third-party frameworks are updated to support visionOS. I would like to make the background of the app semi-transparent (low alpha) to reveal the surroundings behind the app. The best I can get is a black background, even with a clear window and view. Is there a way to make whatever is behind the window (the UIScreen?) clear as well?
Could someone please explain what an ARKit app for iPad (that uses the iPad's camera) would look like on Vision Pro Designed for iPad?
Update: Apparently you can't put your iOS ARKit apps on Vision Pro.
The version of ARKit in iOS is incompatible with the one in visionOS and visionOS can’t display windows that contain ARKit views. For information about how to bring an ARKit app to visionOS, see Bringing your ARKit app to visionOS.