I have a problem with using UIAlertController in my apps built for UIKitForMac: If I press the "OK" button in the box displaying the message, the app crashes with an "-[__NSArrayM objectAtIndexedSubscript:]: index 0 beyond bounds for empty array"exception like this:
2019-06-09 18:47:35.613479+0200 macalerts[3018:179110] [General] *** -[__NSArrayM objectAtIndexedSubscript:]: index 0 beyond bounds for empty array
2019-06-09 18:47:35.613566+0200 macalerts[3018:179110] [General] (
0 CoreFoundation 0x00007fff3a56fc63 __exceptionPreprocess + 250
1 libobjc.A.dylib 0x00007fff6fa3806b objc_exception_throw + 48
2 CoreFoundation 0x00007fff3a62f12a _CFThrowFormattedException + 202
3 CoreFoundation 0x00007fff3a504f4a -[__NSArrayM objectAtIndexedSubscript:] + 142
4 UIKitCore 0x00007fff768389d9 __48-[UIAlertController(iOSMac) _createBridgedAlert]_block_invoke_2 + 75
5 libdispatch.dylib 0x00000001003849b3 _dispatch_call_block_and_release + 12
6 libdispatch.dylib 0x000000010038598f _dispatch_client_callout + 8
7 libdispatch.dylib 0x000000010039583a _dispatch_main_queue_callback_4CF + 1865
8 CoreFoundation 0x00007fff3a4becaa __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
9 CoreFoundation 0x00007fff3a4be3e8 __CFRunLoopRun + 2370
10 CoreFoundation 0x00007fff3a4bd821 CFRunLoopRunSpecific + 499
11 HIToolbox 0x00007fff3919d7fd RunCurrentEventLoopInMode + 292
12 HIToolbox 0x00007fff3919d53d ReceiveNextEventCommon + 600
13 HIToolbox 0x00007fff3919d2c7 _BlockUntilNextEventMatchingListInModeWithFilter + 64
14 AppKit 0x00007fff3784ccf8 _DPSNextEvent + 990
15 AppKit 0x00007fff3784ba6b -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
16 AppKit 0x00007fff378461b7 -[NSApplication run] + 658
17 AppKit 0x00007fff3783804b NSApplicationMain + 777
18 AppKit 0x00007fff37cbc022 _NSApplicationMainWithInfoDictionary + 16
19 UIKitMacHelper 0x00007fff6a599ef9 UINSApplicationMain + 424
20 UIKitCore 0x00007fff765bea91 UIApplicationMain + 2206
21 macalerts 0x0000000100002b6b main + 75
22 libdyld.dylib 0x00007fff70d967a9 start + 1
)
This even happens when I "isolate" the problem in a simple single view app where I bring up a UIAlertController in viewDidAppear like this:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let ac = UIAlertController(title: "Title", message: "Message", preferredStyle: .alert)
self.present(ac, animated: true)
}
Does anybody know ho to solve this?