i'm having problem debugging from the console with lldb debugger after upgrading to xcode 5. i used to type po object
and it used to work fine, however now i get the error
error: instance method 'performBlock:afterDelay:' has incompatible result types in different translation units ('id' vs. 'void')
note: instance method 'performBlock:afterDelay:' also declared here
here is a screenshot of the stack, the code where the debugger stopped at, the values in the visual debugger and the debugger console. what might be the problem, is it a bug in xcode 5 or is there something i can do to rectify this?
I found a way to fix this issue. The problem was that my personal internal framework was declaring a method in a category on NSObject
called:
- (void)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay;
But a third party framework (here BlocksKit) was declaring the same kind of method:
- (id)performBlock:(void (^)(void))block afterDelay:(NSTimeInterval)delay;
Those two seemed to interfere in LLDB's runtime and were producing this strange message. To fix it, I just changed one of the method name. Please let me know if this work for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With