iOS 13b1 UISplitViewController's new UISplitViewControllerPanelImpl loses its preservedDetailController during restore

Originator:indiekiduk
Number:rdar://6126906 Date Originated:6/6/2019
Status:Fixed in 13b4 Resolved:Jul 19, 2019 at 4:13 PM
Product:iOS Product Version:13b1
Classification:Bug Reproducible:Always
 
Basic Information
Please provide a descriptive title for your feedback:
iOS 13b1 UISplitViewController's new UISplitViewControllerPanelImpl loses its preservedDetailController during restore
Basic Information
Which area are you seeing an issue with?
UIKit
What type of feedback are you reporting?
Incorrect/Unexpected Behavior
Description
Please describe the issue and what steps we can take to reproduce it:
There may be an issue in the new panel version of the split view controller that arrises during state restoration. It appears to lose its preservedDetailController so when separating a blank grey view appears on the right side of the split view. I'm including a sample app and when ran on iOS 12 there is no problem but on iOS 13b1 there is. The sample app CloudEvents I was originally built to test out the new CoreData CloudKit sync but I have removed that code so the project can also be used on Xcode 10 and tested on the 12.2 simulator to show the difference in behaviour. The storyboard navigation consists of Root -show-> Master -show-detail-> Detail. So the Root and Master are on the left side of the split and the Detail is on the right. Steps to recreate problem: 1. Open the CloudEvents project in Xcode Version 11.0 beta (11M336w). 2. Choose the iPhone 8 plus simulator and launch the app (after fixing any code sign identity issues). 3. Tap add. Then tap Malc's Venue. Then tap add. The select the event cell. 4. Rotate to landscape so the detail is on the right and the master is on the left. 5. Press command+h to suspend the app. 6. In Xcode stop the app. 7. Rotate the simulator back to portrait. 8. In Xcode launch the app again and it should restore to the detail. 9. Tap back to go back to the master, then rotate to landscape. What should happen: Detail should be shown on right. What happens: The right side of the split view controller is blank. DO the same steps with Xcode 10 and the iOS 12.2 simulator and the problem doesnt happen. I've narrowed the issue down to splitViewController._panelImpl.panelController.preservedDetailController being nil in MyNavigationController separateSecondaryViewControllerForSplitViewController. So something internally must be setting the preservedDetailController to nil. I'll be looking more into why but I thought would send you this bug report promptly.
File Uploads
CloudEvents.zip 
63.66 KB Jun 6, 2019 at 5:54 PM

Comments

Apple Jul 19, 2019 at 4:13 PM

Please verify this issue with iOS 13 beta 4 and update your bug report with your results by logging into https://feedbackassistant.apple.com (https://feedbackassistant.apple.com/) or by using the Feedback Assistant app. iOS 13 beta 4 (17A5534f) https://developer.apple.com/download/ Posted Date: Posted Date: July 17th, 2019 If the issue persists, please attach a new sysdiagnose captured in the latest build and attach it to the bug report. Thank you. iOS sysdiagnose Instructions: https://developer.apple.com/services-account/download?path=/iOS/iOS_Logs/sysdiagnose_Logging_Instructions.pdf For a complete list of logging instructions visit: https://developer.apple.com/bug-reporting/profiles-and-logs/

By indiekiduk at July 20, 2019, 4:46 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!