Rather than sending an IOSurfaceRef, send an IOSurface *:
- (void)sendFrame:(IOSurface *)frame;
IOSurfaceRef is toll-free bridged to IOSurface *, so all you need to do is cast to IOSurface * and it should work.
This is true of other CF-types. Objective-C types (NSString, NSDictionary, etc.) work via NSXPCConnection but their corresponding CF-types (CFStringRef, CFDictionaryRef, etc.) don't.
Topic:
App & System Services
SubTopic:
Core OS
Tags: