title: iOS app crashes with EXC_BREAKPOINT (SIGTRAP)
body: <p>I have an application which crashes on launch. I have identified where the problem originates, but I can't seem to figure out how to resolve it. Let me first explain what I do:</p>
  
  <p>I have a LocationManager that checks if a user enters a certain region (using startRegionMonitoring). If so, a local notification is scheduled to fire in 5 minutes. If however, the person leaves again within those 5 minutes, the local notification is canceled. I do this because a user can just pass by the building without actually entering it. It also cancels any pending notifications (within those 5 minutes) when the app is opened by the user himself.</p>
  
  <p>When this scenario occurs, the app crashes upon launch. The crash report indicates this:</p>
  
  <pre><code>Exception Type:  EXC_BREAKPOINT (SIGTRAP)
  Exception Codes: 0x0000000000000001, 0x000000010098b38c
  Triggered by Thread:  0
  
  Thread 0 name:  Dispatch queue: com.apple.main-thread
  Thread 0 Crashed:
  0   GetReminded                     0x000000010098b38c closure #1 in closure #1 in AppDelegate.applicationWillEnterForeground(_:) + 3388300 (AppDelegate.swift:1300)
  1   GetReminded                     0x00000001006be738 thunk for @escaping @callee_guaranteed () -&gt; () + 452408 (&lt;compiler-generated&gt;:0)
  2   libdispatch.dylib               0x00000001b6448a38 0x1b63e9000 + 391736
  3   libdispatch.dylib               0x00000001b64497d4 0x1b63e9000 + 395220
  4   libdispatch.dylib               0x00000001b63f7004 0x1b63e9000 + 57348
  5   CoreFoundation                  0x00000001b699ac1c 0x1b68f1000 + 695324
  6   CoreFoundation                  0x00000001b6995b54 0x1b68f1000 + 674644
  7   CoreFoundation                  0x00000001b69950b0 0x1b68f1000 + 671920
  8   GraphicsServices                0x00000001b8b9579c 0x1b8b8b000 + 42908
  9   UIKitCore                       0x00000001e31c4978 0x1e2908000 + 9161080
  10  GetReminded                     0x0000000100681f4c main + 204620 (ExerciseStatistics.swift:219)
  11  libdyld.dylib                   0x00000001b645a8e0 0x1b6459000 + 6368
  </code></pre>
  
  <p>At first, I wasn't performing the cancel action on the main thread - which is what I thought caused the crash. So I used Dispatch Queue and thought the issue would be resolved, but it's still there. My code for <code>willEnterForeground</code>:</p>
  
  <pre><code>UNUserNotificationCenter.current().getDeliveredNotifications { (notifications: [UNNotification]) in
  
      DispatchQueue.main.async {
          for notification in notifications {
              if(notification.request.content.userInfo["notificationType"] as! String == "exitReminder" || notification.request.content.userInfo["notificationType"] as! String == "enterReminder") {
                  let notificationID = notification.request.identifier
                  UNUserNotificationCenter.current().removeDeliveredNotifications(withIdentifiers: [notificationID])
                  UNUserNotificationCenter.current().removePendingNotificationRequests(withIdentifiers: [notificationID])
  
              }
          }
      }
  
  }
  </code></pre>
  
  <p>I'm not really sure how this can be resolved. It might be important to know that this reminder is sent from the background, so when the app is not in the foreground. I have location services on in the background, everything works when I stay at the location, but it goes wrong when I exit again within those 5 mins and thus the notification needs to be canceled.</p>
  
  <p>Any ideas?</p>