thank you very much for your quick response.
We are holding a strong reference to the delegate - though, the delegate is a UIViewController that is being popped (unanimated) from a UINavigationController when the user changes the tab on the UITabBarController.
When the user did something like panning or zooming before he changes the tab, and the animation is still ongoing, the ShinobiChart still tries to call methods on its delegate, after the UIViewController is already deallocated.
Meanwhile we now know how to prevent that crash (unfortunately we must never release the vc which should normally pop).
Concerning the crash it looks like to us that the ShinobiChart is using “assign” rather than “weak” for its delegate. With a weak-delegate this crash shouldn’t happen (as it would point to nil).
Or maybe the pointer is used inside a ShinobiChart block without making it strong before using it, or accessing the instance-variable directly?
In any case, for us it looks like Shinobi uses a wrong access-pattern to the delegate-pointer somewhere inside.
I hope the information helps identifying where the root cause could be.