【问题标题】:Passing data between 32 and 64bit cocoa applications在 32 位和 64 位可可应用程序之间传递数据
【发布时间】:2014-06-17 10:18:37
【问题描述】:

我有一个 64 位 cocoa 项目需要使用 32 位渲染库,我无法将其移植到 64 位。

我决定将它分离为一个渲染服务,它将以 32 位编译并为库提供接口,而主项目将以 64 位编译并访问渲染服务。

我想知道进行进程间通信的最佳方式是什么。我正在寻找一种能够提供快速通信和简单 api 的解决方案。

现在看来,XPC(特别是 NSXPCConnection)是推荐的解决方案。但是,我不确定 - 它是为 32 位应用程序实现的吗?

此外,我需要传递相当大量的数据(最大约 5MB),因此我担心 XPC 的性能和速度。在这种情况下是否可以/推荐共享内存映射?可以和xpc配合使用吗?

【问题讨论】:

    标签: objective-c macos cocoa architecture nsxpcconnection


    【解决方案1】:

    对于 32 位到 64 位的 API,Apple 确实在他们自己的应用程序(例如 Pages)中使用 XPC 服务来将旧数据迁移到更新的 API。

    虽然我还没有使用NSXPCConnection 让它工作,而且Apple 自己的应用程序使用xpc/xpc.h 中的功能。

    【讨论】:

    • 我已经成功地使用了 NSXPCConnection 来完成这个任务。这很简单。
    猜你喜欢
    • 2011-04-02
    • 1970-01-01
    • 2014-04-19
    • 2015-05-12
    • 2018-10-26
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多