https://www.mikeash.com/pyblog/objc_msgsends-new-prototype.html That offers some explanation. This is succinct because I do not have an answer on how to fix this. A local hack crashed on me in the iPhone emulator.