Now it's saying that it can't find the method browser:foundPeer:withDiscoveryInfo: on your delegate. It looks like you mistyped the name in your code (you wrote withDiscoverInfo, it should be withDiscoveryInfo, note the y in Discovery).

Disclaimer... I don't have anything to test out, you need o find a good end to end example written in ObjC or swift to port over... some of these frameworks are tricky to work with just from the docs alone.

Can you paste the actual traceback (if the debugger pops up, click the button in the corner to expand it, then tap Print Traceback). I seem to remember encountering a similar problem in the past. This comes from ctypes, but we need to know which argument is causing problepms.

The error comes from ctypes callback.c. I suspect the issue is the ObjCBlock, the c code cannot convert the pointer it gets.
I know I encountered and solved this elsewhere, but can't find the solution, you might try

It seems as though the ObjCInstance does not handle invoke properly, since invoke is sort of special. The code abive creates the ctypes struct corresponding to the signature, i think, along with the hidden block argument, then calls it.