问题标签 [xpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1514 浏览

matlab - 如何在 Simulink 的嵌入式 Matlab 函数中迭代结构?

我遇到了一个障碍,我试图迭代在 SIMULINK 中的 EML(嵌入式 Matlab)功能块内的 MATLAB 工作区中形成的结构。这是一些示例代码:

MyElements 是 SIMULINK 中 MATLAB 功能块 (EML) 的总线类型参数。以下是我遇到麻烦的领域。我知道我的结构中的元素数量并且我知道名称,但是元素的数量可以随任何配置而改变。所以我不能根据元素名称进行硬编码。我必须遍历 EML 块内的结构。

关于如何在 SIMULINK 中迭代结构类型的任何想法?另外,我不能使用任何像 num2str 这样的外部函数,因为这是要在目标系统上编译的。

0 投票
0 回答
2378 浏览

macos - 向 XPC 服务发送消息时的 EXC_BAD_INSTRUCTION

我正在尝试使用 XPC 服务进行进程间通信。我在我的项目中添加了一个 XPC 服务目标,然后当我尝试执行时,xpc_connection_send_message我得到了EXC_BAD_INSTRUCTION. 据我所知,我正在正确初始化并启动连接。

然后发送消息

我在这里有什么遗漏吗?是否以某种方式无法找到并连接到服务?

0 投票
3 回答
15124 浏览

macos - 是否可以使用像 IPC 这样的 Mac OS X XPC 在进程之间交换消息?如何?

据 Apple 介绍,Lion 中引入的新 XPC 服务 API 为与 Grand Central Dispatch (GCD) 和 launchd 集成的基本进程间通信提供了一种轻量级机制。

似乎可以将此 API 用作一种 IPC,例如 POSIX IPC,但是,我找不到如何做到这一点。

我正在尝试使用 XPC API 与两个进程通信,以便在它们之间传递消息,但我总是在服务器端收到“XPC 连接无效”错误。

我不想要 XPC 服务,我只想使用客户端-服务器架构交换消息。

我正在使用两个类似 BSD 的进程,所以没有 Info.plist 或其他任何东西......

我一直在关注这个讨论http://lists.macosforge.org/pipermail/launchd-dev/2011-November/000982.html但这个话题似乎有点晦涩和无证。

谢谢!

0 投票
1 回答
1578 浏览

objective-c - MacOSX Lion 上的进程间通信

我试图弄清楚如何在我的自定义应用程序和预制程序之间设置 IPC。
我正在使用 MacOSX Lion 10.7.2 和 Xcode 4.2.1。

实际上究竟是什么程序并不重要,因为我相信类似的推理可以应用于任何类型的外部过程。
出于测试目的,我使用了一个简单的 bash 脚本:

我想要实现的是重定向这个脚本的输入和输出,使用我的应用程序向它发送输入并读取它的输出。

我尝试使用NSTaskNSPipe如下NSFileHandle

但我只能读取 的输出test.sh,不能向其发送任何输入。

实际上,我在网上看到的任何其他示例都与我的代码非常相似,所以我不确定这个问题是由于我的一些错误还是其他问题(如应用程序的 MacOS Lion 沙盒)。

我检查了 XPC 文档,但根据我的研究,为了使用 XPC API 到 IPC,双方应该连接到同一个服务。
这不是我想要的,因为我不想以任何方式更改脚本,我只想重定向它的输入和输出。

我的问题是由于缺少 XPC 和/或应用程序的沙盒吗?

如果是,有没有办法在不修改脚本的情况下使用 XPC?
如果不是,那么有人可以解释我做错了什么吗?

0 投票
1 回答
686 浏览

macos - 如何在 Xcode 4 中为 App-Sandboxing 编辑 xcp-services 的权利

我创建了一个应用程序并开始将其沙箱化。现在我使用 xpc-services 进行了权限分离。我从 Apple 下载了“SandboxedFetch”示例,其中显示了两个 xpc 服务,如应用程序(应用程序图标)。在我的应用程序中,xpc 服务显示“插件”图标。我的 xpc-service 的项目设置中的摘要选项卡不可用,这意味着我无法像在主应用程序上那样配置权利。我将定制的权利文件复制到 xpc 服务并在项目设置中引用它。但是该服务始终在运行,没有应用到该服务的权限限制。

我需要新的服务证书吗?如果我的应用程序名为“com.mycompany.app”并且我的服务名为“com.mycompany.app.service”,我无法将我的应用程序证书应用于该服务。我对这个沙盒的东西感到困惑。我的 xpc 服务需要新证书吗?如果没有,我如何将权利应用于它?

0 投票
1 回答
304 浏览

macos - XPC 导致出现崩溃对话框

我实施了 XPC,因为 Apple 建议将其用于高风险操作。问题是当 XPC 崩溃时,它会向用户显示崩溃对话框。我知道这段代码有时会崩溃,这就是我首先实现 XPC 的原因。那么有什么办法可以抑制崩溃报告吗?

如果您需要任何详细信息,请添加评论,我会尽快更新线程。

0 投票
1 回答
2955 浏览

cocoa - 应用沙箱:如何允许 XPC 服务读取用户在父应用中打开的文件?

我有一个简单的 Cocoa 图像预览应用程序。用户使用 选择文件NSOpenPanel,应用程序使用 Quick Look API 生成预览图像。

我想将预览生成移到单独的 XPC 服务中。如果没有应用沙盒,一切正常,但在为父应用和 XPC 服务启用应用沙盒后,XPC 服务被拒绝读取用户选择的文件

允许父应用读取文件(因为它是通过 NSOpenPanel 选择的)。

如何将用户选择的文件的“文件读取”权限从父应用程序转移到XPC进程,以便XPC进程可以读取文件以生成预览?

我的 XPC 服务通过其权利请求文件读取访问,我将以下密钥添加到 XPC 服务 Info.plist,但这没有帮助:

0 投票
1 回答
753 浏览

objective-c - XPC 和跨架构 OSX 应用程序

对于我正在开发的桌面应用程序,我必须坚持使用 32 位框架。我正在寻找在适当的进程中运行框架并在 64 位进程中开发应用程序的其余部分的最佳途径。该应用程序还打算在 AppStore 中出售,因此它应该支持 Apple 沙盒。

我在考虑XPC:它适合这些目的吗?为什么我在与跨架构编程相关的 Apple 文档中找不到它?

0 投票
2 回答
571 浏览

macos - 授权 XPC 连接

我的应用程序包含一个核心扩展作为关键组件。该内核扩展由系统控制套接字控制。出于安全原因,该系统控制套接字仅接受来自超级用户的连接。

为了从我的常规非超级用户应用程序进行通信,我有一个 SMJobBless 助手充当中介。问题是,我只希望我的应用程序(由我签名)能够连接到这个 XPC 服务。有什么方法可以验证连接另一端的可执行文件上的签名吗?如果我可以在另一端获得进程的 PID,那就足够了,我知道如何从那里验证签名。

0 投票
2 回答
598 浏览

objective-c - 在 XPC 服务守护进程中查看可用的字典?

在支持 xpc 的 osx 机器上运行着一堆启动守护进程和代理。要查看它们是否支持 IPC over xpc,我会查找任何 xpc 函数,尤其是 xpc_connection_create。我的理解是,为了与这些进程对话,必须通过 xpc api 制作字典,然后将其传递给广告的 com.* 服务。有没有办法查看字典的参数应该是每个进程,而不是传递随机的东西?

以上逻辑如有错误,欢迎指正。任何建议或评论都是有帮助的,谢谢。