I haven't faced that issue.
Apple had generally suggested the responds to method.
A possible work around is to define a method with the same signature.
You don't have to actually use it, but it gives the compiler a known method.
Cast the cpb as an (id).
It might also be worthwhile casting the results as well.
This stops the compile time messages.
The basic error reflects ARC not knowing how to handle the results, so it may get problematic using this approach for objects.
I'm at work and can't test this at the moment, other than confirming no compile time errors.