【问题标题】:Mix NSXPCConnection and xpc C API混合 NSXPCConnection 和 xpc C API
【发布时间】:2013-01-01 13:21:09
【问题描述】:

我正在使用 NSXPCConnection 包装器处理 XPC 服务,并且由于 Objective-C 包装器无法处理 IOSurfaceRef 对象,我想对 xpc.h 中定义的 C API 进行一些直接函数调用。但我找不到检索底层xpc_connection_t 引用的方法(正如我在NSXPCConnection.h 中看到的,有一个名为_xconnection 的私有ivar,它可能是我需要的引用)。 我错过了什么愚蠢的东西,还是不能简单地将 Objective-C 包装器和 C API 一起使用?

【问题讨论】:

    标签: objective-c xpc nsxpcconnection


    【解决方案1】:

    不,但是XPCKit 提供了这样一种转换机制,并且它与 10.7 兼容。

    【讨论】:

    • 对不起,我不确定我是否理解你。 XPCKit 提供什么样的转换?不支持 IOSurfaceRef(它在愿望清单中),并且它似乎没有提供从 xpc_connecion_t 引用获取 NSXPCConnection 的方法。它似乎是 NSXPCConnection 包装器的替代品,但也没有 IOSurface 支持。
    • 当你配置你的XPCConnection对象时,使用它的.connection属性,并用接收到的对象调用IOSurfaceLookupFromXPCObject()。奖励:由于它是开源的,您甚至可以将其添加到 NSObject+XPCParse 类别中。
    • 好的。这对我有帮助,即使它没有回答原始问题(如何检索 NSXPCConnection 对象的底层 xpc_connection_t )。谢谢!
    • 对不起! :P 没有办法做到这一点,除非你想尝试一两次运行时破解。
    猜你喜欢
    • 1970-01-01
    • 2012-12-11
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多