[TIMOB-27136] iOS 13 : Implement multiple window support for iPad
GitHub Issue | n/a |
---|---|
Type | New Feature |
Priority | Medium |
Status | Open |
Resolution | Unresolved |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | n/a |
Labels | 2021-Q2 |
Reporter | Vijay Singh |
Assignee | Vijay Singh |
Created | 2019-06-06T03:41:25.000+0000 |
Updated | 2021-02-24T00:37:05.000+0000 |
Description
In iOS 13+ Apple has given new APIs https://developer.apple.com/documentation/uikit/app_and_scenes?language=objc to support multiple instance of same app's UI . See WWDC video https://developer.apple.com/videos/play/wwdc2019/212/
Multiple window also means turning on use-autolayout doesn't it? The highest priority feature for our iPad (universal) app is support for iPad split view support – this will be required by Apple for appstore updates and new submissions by April 2020. To enable split view support, the app needs to enable use-autolayout tiapp.xml setting and UIRequiresFullScreen = false. It also needs some internal storyboard support. We have tried in Titanium 5/6/7 to enable this feature but it has always caused either build failures or problems in the UI. So reworking the app could take a long time but we have 1 year – what is the plan to support this for developers with existing apps? Note our app resizes well between iPhone and iPad and with rotation so in theory it could work with multitasking and use size classes, but my impression is this autolayout feature has been in beta previously and might need work.
[~narbs] As per WWDC video https://developer.apple.com/videos/play/wwdc2019/224/ (if you see 0-4 mints), there are 3 things required by April 2020 - *1. Adapt launch storyboard* - In titanium we already support this by default. You have to just see if following in tiapp.xml-
*2. Support any size* - Your app should resize properly for different devices and in split view. As you mentioned your app is resizing properly. So you are good with this. *3. Support split screen multitasking* -In titanium, for enabling this set 'UIRequiresFullScreen' to 'false' in tiapp.xml -
There is no need to to enable use-autolayout. Thanks!
Vijay, thank you! This really helped. This blog post incorrectly states you need to use autolayout so I didn't try otherwise. https://devblog.axway.com/mobile-apps/titanium-5-2-0-launch-files-ipad-pro-slide-over-and-split-view/ I got the app working after making sure to get the window dimensions from the postlayout listener as Ti.Platform.displayCaps.platformWidth no longer works in split view. Thanks - this has saved me a lot of work and worry. Now, on to multiple windows...