title: Dealing With Old iOs Devices
body: <p>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.</p>
  
  <p>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:</p>
  
  <pre><code>let nextViewController = self.storyboard?.instantiateViewController(withIdentifier: "drawNotesViewController") as! drawNotesViewController
              self.present(nextViewController, animated: true, completion: nil)
  </code></pre>
  
  <p>This is the crash report:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>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!</p>