iPadOs 13.2 Beta NavigationController Crash

We have a live application written in XCode 6.4 which runs fine on iOS 12, 13.1, 13.1.2 but crashes on iOS 13.2 Beta.

I have created a skeleton version of the application which does nothing except attempt to show a viewController via a navigationController.


This is the code:-


18- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

19 _window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];

20

21 UIViewController *viewController = [[UIViewController alloc] init];

22 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];

23 viewController.view = view;

24 view.backgroundColor = [UIColor redColor];

25

26 UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];

27 [_window makeKeyAndVisible];

28 _window.rootViewController = navigationController;

29

30 return YES;

31}


The crash happens when the rootViewController is set on the UIWindow on line 28. If lines 27 and 28 are reversed the crash happens on makeKeyAndVisible.


This is the stack trace:-


Hardware Model:iPad11,3
Process: BasicNav [278]
Path: /private/var/containers/Bundle/Application/AA07A578-959D-4C5C-A111-DA2EAD009D3D/BasicNav.app/BasicNav
Identifier: com.atomus.BasicNav.BasicNav
Version: 1 (1.0)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process:launchd [1]
Coalition: com.atomus.BasicNav.BasicNav [419]



Date/Time: 2019-10-08 10:46:08.0821 +0100
Launch Time:2019-10-08 10:46:07.7394 +0100
OS Version: iPhone OS 13.2 (17B5059g)
Release Type:Beta
Baseband Version:n/a
Report Version:104


Exception Type: EXC_CRASH (SIGABRT)

Exception Codes: 0x0000000000000000, 0x0000000000000000

Exception Note: EXC_CORPSE_NOTIFY

Triggered by Thread: 0


Last Exception Backtrace:

0 CoreFoundation 0x1a6921ab8 0x1a67ef000 + 1256120
1 libobjc.A.dylib 0x1a663b028 0x1a6635000 + 24616
2 CoreFoundation 0x1a681119c 0x1a67ef000 + 139676
3 QuartzCore 0x1ad55fdc8 0x1ad401000 + 1437128
4 QuartzCore 0x1ad55fcf8 0x1ad401000 + 1436920
5 QuartzCore 0x1ad55f7cc 0x1ad401000 + 1435596
6 UIKitCore 0x1aae88ff8 0x1a9fbe000 + 15511544
7 UIKitCore 0x1aae54b60 0x1a9fbe000 + 15297376
8 UIKitCore 0x1aae8b0e4 0x1a9fbe000 + 15519972
9 UIKitCore 0x1aae8bd98 0x1a9fbe000 + 15523224
10 CoreFoundation 0x1a68f364c 0x1a67ef000 + 1066572
11 CoreFoundation 0x1a67f1300 0x1a67ef000 + 8960
12 UIKitCore 0x1aae8ae34 0x1a9fbe000 + 15519284
13 UIKitCore 0x1aae890e0 0x1a9fbe000 + 15511776
14 UIKitCore 0x1aa098a70 0x1a9fbe000 + 895600
15 UIKitCore 0x1aaea6634 0x1a9fbe000 + 15631924
16 libobjc.A.dylib 0x1a6636a4c 0x1a6635000 + 6732
17 QuartzCore 0x1ad5552b0 0x1ad401000 + 1393328
18 QuartzCore 0x1ad5555b8 0x1ad401000 + 1394104
19 UIKitCore 0x1aae91f94 0x1a9fbe000 + 15548308
20 UIKitCore 0x1aae98ad8 0x1a9fbe000 + 15575768
21 UIKitCore 0x1aa31ab9c 0x1a9fbe000 + 3525532
22 UIKitCore 0x1aa31bb58 0x1a9fbe000 + 3529560
23 UIKitCore 0x1aa31b8c0 0x1a9fbe000 + 3528896
24 UIKitCore 0x1aa3248c4 0x1a9fbe000 + 3565764
25 UIKitCore 0x1aa3c3bf8 0x1a9fbe000 + 4217848
26 UIKitCore 0x1aa3217dc 0x1a9fbe000 + 3553244
27 UIKitCore 0x1aae9d054 0x1a9fbe000 + 15593556
28 UIKitCore 0x1aae90bb8 0x1a9fbe000 + 15543224
29 UIKitCore 0x1aae90a9c 0x1a9fbe000 + 15542940
30 UIKitCore 0x1aae9fae0 0x1a9fbe000 + 15604448
31 UIKitCore 0x1aaa33234 0x1a9fbe000 + 10965556
32 UIKitCore 0x1aaa3260c 0x1a9fbe000 + 10962444
33 UIKitCore 0x1aaa335a8 0x1a9fbe000 + 10966440
34 UIKitCore 0x1aaa4478c 0x1a9fbe000 + 11036556
35 BasicNav 0x1009ded14 -[AppDelegate application:didFinishLaunchingWithOptions:] + 27924 (AppDelegate.m:28)
36 UIKitCore 0x1aa9f119c 0x1a9fbe000 + 10695068
37 UIKitCore 0x1aa9f3008 0x1a9fbe000 + 10702856


Thanks for any help,


Simon


Update: The same code crashes in XCode 7 and XCode 8. Runs OK in 10 (targetting iOS 10). Wondering if this will be fixed by Apple or we will need to port our app to a more recent XCode?