Dealing With Old iOs Devices

1

I am making an education app specifically designed for use in schools. When I started the project I didn't take into account how old many of the iPads in the school. Some of them are iOs 9.3.5 and these seem to be the troublesome ones. Because they are locked out I can't do much with them except read the error log but I don't see much info that would help me.

The crash seems to be a little random but always happens at view controller changes but some of them crash occasionally, others crash 100% of the time and others crash intermittantly. This is the code I use to change views:

let nextViewController = self.storyboard?.instantiateViewController(withIdentifier: "drawNotesViewController") as! drawNotesViewController
            self.present(nextViewController, animated: true, completion: nil)

This is the crash report:

Incident Identifier: 9C9815CC-F932-4E28-AB1B-132B330430EE
CrashReporter Key:   344cf11c25d3ceced28918b31fcdb3a79aaea75e
Hardware Model:      iPad2,5
Process:             Reading Music Tests [847]
Path:                /private/var/containers/Bundle/Application/4587C3D5-5A00-4B7C-9056-81BCB97A1B59/Reading Music Tests.app/Reading Music Tests
Identifier:          ..
Version:             8 (0.9.7)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2018-10-17 09:40:28.28 +0100
Launch Time:         2018-10-17 09:31:59.59 +0100
OS Version:          iOS 9.3.5 (13G36)
Report Version:      104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000000000defe
Triggered by Thread:  0

Filtered syslog:
None found

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   Reading Music Tests             0x0014b9a4 0xfc000 + 326052
1   Reading Music Tests             0x0015eed4 0xfc000 + 405204
2   Reading Music Tests             0x0015e584 0xfc000 + 402820
3   Reading Music Tests             0x0015e7a8 0xfc000 + 403368
4   UIKit                           0x2558ad8a -[UIViewController loadViewIfRequired] + 1026
5   UIKit                           0x2558a970 -[UIViewController view] + 24
6   UIKit                           0x25e1fec0 -[_UIFullscreenPresentationController _setPresentedViewController:] + 72
7   UIKit                           0x258d6d00 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 112
8   UIKit                           0x258fa6e4 -[UIViewController _presentViewController:withAnimationController:completion:] + 3668
9   UIKit                           0x258fcd24 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 336
10  UIKit                           0x258fcf90 -[UIViewController _performCoordinatedPresentOrDismiss:animated:] + 416
11  UIKit                           0x25683db8 -[UIViewController presentViewController:animated:completion:] + 144
12  Reading Music Tests             0x0016a33e 0xfc000 + 451390
13  Reading Music Tests             0x0016a6ce 0xfc000 + 452302
14  UIKit                           0x25af09ea _UIGestureRecognizerSendTargetActions + 142
15  UIKit                           0x2572b84e _UIGestureRecognizerSendActions + 170
16  UIKit                           0x255bcff0 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 1004
17  UIKit                           0x25af1d4e ___UIGestureRecognizerUpdate_block_invoke898 + 62
18  UIKit                           0x2557da56 _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 298
19  UIKit                           0x2557a016 _UIGestureRecognizerUpdate + 2902
20  UIKit                           0x255baec8 -[UIWindow _sendGesturesForEvent:] + 904
21  UIKit                           0x255ba67a -[UIWindow sendEvent:] + 622
22  UIKit                           0x2558b124 -[UIApplication sendEvent:] + 204
23  UIKit                           0x255896d2 _UIApplicationHandleEventQueue + 5010
24  CoreFoundation                  0x20fd1dfe __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
25  CoreFoundation                  0x20fd19ec __CFRunLoopDoSources0 + 452
26  CoreFoundation                  0x20fcfd5a __CFRunLoopRun + 794
27  CoreFoundation                  0x20f1f228 CFRunLoopRunSpecific + 520
28  CoreFoundation                  0x20f1f014 CFRunLoopRunInMode + 108
29  GraphicsServices                0x2250fac8 GSEventRunModal + 160
30  UIKit                           0x255f3188 UIApplicationMain + 144
31  Reading Music Tests             0x00103a7e 0xfc000 + 31358
32  libdyld.dylib                   0x20bc7872 start + 2

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x20c9c2f8 kevent_qos + 24
1   libdispatch.dylib               0x20b91d60 _dispatch_mgr_invoke + 256
2   libdispatch.dylib               0x20b91abe _dispatch_mgr_thread$VARIANT$mp + 38

Thread 2:
0   libsystem_kernel.dylib          0x20c9b864 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x20d41b34 _pthread_wqthread + 1036
2   libsystem_pthread.dylib         0x20d41718 start_wqthread + 8

Thread 0 crashed with ARM Thread State (32-bit):
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000002      r3: 0x00000202
    r4: 0x155bf580    r5: 0x155bb5d0      r6: 0x00000000      r7: 0x002d9598
    r8: 0x156cf8b0    r9: 0x155bf584     r10: 0x001b4158     r11: 0x00195912
    ip: 0x00549d75    sp: 0x002d9530      lr: 0x0014b589      pc: 0x0014b9a4
  cpsr: 0x60000030

Error Formulating Crash Report:
Failed while requesting activity/breadcrumb diagnostics

I hate just dumping crash reports on here and asking for help but I've been staring at it and can't work out what the error is. If there isn't a clear answer from the crash reports then I will go back to the project and see if I can see a pattern to what sets it off. So far all I know is it is intermittant which makes me concerned!

ios
swift
asked on Stack Overflow Oct 17, 2018 by Klowne

1 Answer

1

I discovered that it was a missing font that was not included in iOs until after 9.3.5. I have now learnt that those crash reports don't include enough info in this case so lesson learned!

answered on Stack Overflow Oct 23, 2018 by Klowne

User contributions licensed under CC BY-SA 3.0