iOS Multitasking

Hi Folks, I’ve just started to look at transitioning the Wotja code base from JUCE 5 to JUCE 6.

I’ve put this off for a long time, as I’ve had to make a lot of fixes to JUCE over the past few years.

Anyhow, the most complex set of change is related to this issue. I see it still isn’t implemented in JUCE 6?

To verify this for yourself, is really really simple to prove.

  1. in the .plist file: set UIRequiresFullScreen to NO
  2. build and run your iPad app
  3. Try using multi-tasking / split screen. Here is what I do (on Simulator)

a) where nothing yet running i.e. your app starts first

  • start your iPad app running
  • drag-up enough to show the Task Bar
  • start-up
  • select the Safari or Reminders app icon (both these apps support split screen) in task bar, and drag to left/right of the current app; it’ll show a window where you app will appear
  • you can then drag the central splitter left/right to resize, or if you drag fully left/right both apps become full screen mode.

b) where another app is running, and you want to see if your pre-deployed app starts-up properly in split screen mode:

  • start-up Safari (as that supports split screen mode) or Reminders app (ditto)
  • drag-up enough to show the Task Bar
  • select your app’s icon in task bar, and drag to left/right of the current app; it’ll show a window where you app will appear
  • you can then drag the central splitter left/right to resize, or if you drag fully left/right both apps become full screen mode.

I have had to change both juce_ios_UIViewComponentPeer.mm and juce_ios_Windowing.mm extensively to fix this again in JUCE6, but it is working well again! Do please contact me if you want my code, so you can patch it back in.

Best wishes as always,

Pete