问题
Using an iPad mini4 (A1538), running iOS 13 beta 6, using XCode 11 beta 5... Create a new iOS project using the Single View App template in XCode 11. Add a Settings.bundle with the root containing only two items:
- Child Pane
- Text Field
Create a child pane plist file, add it to the Settings.bundle and link it to the root Child Pane entry via its Filename property, per normal Apple Settings Bundle guidelines. For the child pane create two items:
- Group Specifier (seems to be required else nothing shows up in child pane page at all)
- Text Field
The names, default values etc of the text field entries themselves aren't important, pick anything. Build the app and run it. On the simulator the Settings.app will work as expected - you can navigate to the child pane and see and interact with the text field on it. Running it on a real device will result in the Settings.app crashing when you select the child pane control to navigate to it. If you remove all controls, in our case the single text field entry, from the child pane plist it will not crash. Adding any entries at all other than the Group Specifier seems to trigger the crash. This works fine on iOS versions prior to 13.
Debug vs release build doesn't matter. Appears to be a new iOS 13 bug. Can someone recreate and confirm? Steps are listed but a sample project can be provided if necessary - I purposefully used the default template with minimal changes to prove its not a WOMM type issue
回答1:
NB:a A separate bug leading to a settings crash in iOS 13 is related to using the value type "Number" in an item of type "PSTextFieldSpecifier".
回答2:
I resolve this crash issue by change table view style to Group style on Child Pane. You just need to add 1 item with type is PSGroupSpecifier.
回答3:
Had a similar issue. According to crashlogs the exception was caused by SwiftUI.
However, iOS 13.3 update has fixed it.
来源:https://stackoverflow.com/questions/57482190/ios13-settings-bundle-with-child-pane-crashes-settings-app-on-real-device