When resumed from background the sessionPropertyListener is fired and checkSessionProperties is fired, but this causes a crash. Since resuming from background does not involve any Hardware changes checkSessionProperties is not necessary to be fired.
I've added a check on the route change reason. If the reason is only a category change the checkSessionProperties will not be fired anymore.
Upon Audio Session Interruption don't check Session Properties if the…
… route change reason is a Category Change since this causes a crash.
What do you mean with it works? You don't get the crash when resuming from the background? FYI, it only occurs on the device not the simulator.
yes, i don't get the crash on devices with your fix