Here's a small, simple test AIA for iOS that switches between two screens. Using Button1 follows method 1* (i.e., Screen 1 isn't closed). Using Button2 follows method 2 (Screen 2 opens while Screen 1 is closed). Tests must be performed using the IPA.
Using method 1 (Screen 1 isn't closed), even this mini-app experiences a noticeable delay when loading Screen 2 (some components like sliders and checkboxes appear distorted for about 1 second). This behavior doesn't occur with Method 2. Of course, the system-based back button (top left) doesn't work with method 2 because Screen1 has already been closed. Method 1 is a no-go for iOS users (especially on modern iOS devices like the iPhone 15 Pro Max or the iPad Pro).
Why do you think that the Method 1 is a "no-go" option for iOS? This method, as you say, has a delay in the Screen1 when open another Screen, but this is the only issue for this method.
The video was created by a very simple app with just two screens and a dozen blocks. Yet there is a noticeable delay when Screen 2 appears.
My current app is a by far more complex app with seven screens and a total of about 10,000 blocks. Switching from Screen1 to other screens is a complete disaster. A transition time of 2-3 seconds on a high-performance device like an iPhone 15 Pro Max, which runs much more extensive games smoothly, is DEFINITELY unacceptable. My kids and their friends are all iOS users and are stunned when they see something like this.
I built some native Xode/Swift apps that run smoothly even on older iPhones. When I run my current AI2 iOS app on my old iPhone 6s, the screen transition is even worse, and the device freezes (crashes).
I've solved or mitigated this visual-delay issue when opening new screens in iOS by adding a zoom/splash effect when pressing buttons to change of the screen. My app has 4 screens and 12,960 blocks. Perhaps this could be useful as a workaround.
Of course, the delay when opening new screens in iOS is quite high, and if MIT could reduce it to the level of Android, that would be perfect.
My application is not a game (it's a utility) and therefore users can accept a small delay mitigated or disguised with a zoom effect on each screen change button.
My apps aren't gaming apps either. As I said, the average iOS user is shocked when they see something like this. And I'm curious to see how these delays, and especially the ugly distortions of individual components, can be overlaid.
So I have to exclude older devices (iOS < 17 or 18). I don't know what the minimum iOS version is for AI2 for iOS. Apparently, there's no way to set the minimum iOS version in the designer. Doing that retroactively seems quite complicated, if even possible.
So we definitely need a way to set the minimum iOS version (to iOS 17 or 18), at least as long as the extremely resource-intensive screen switching stays as it is.