gpt4 book ai didi

macos - OSX 应用程序和命令行工具之间的 NSConnection

转载 作者:行者123 更新时间:2023-12-02 05:09:22 27 4
gpt4 key购买 nike

我正在尝试在 OSX 应用程序和命令行工具之间创建连接以处理分布式对象。

连接在命令行工具中注册是这样的

[NSConnection serviceConnectionWithName:@"server" rootObject:extManager];

并尝试从应用程序连接到注册的连接对象,如下所示
self.serverConnection = [NSConnection connectionWithRegisteredName:@"server" host:nil];

当应用程序没有被沙盒化时,连接就建立了。当应用程序被沙盒化时 connectionWithRegisteredName返回零。

我已尝试向权利添加 key 和值,并使用团队证书对工具和应用程序进行签名,但它不起作用
    <key>com.apple.security.application-groups</key>
<array>
<string><TEAM ID>.AppSuite</string>
</array>

在沙盒化时,我该怎么做才能使连接正常工作?

最佳答案

这里的技巧是使用应用程序组名称作为连接名称中的前缀。 IE。:

self.serverConnection = [NSConnection connectionWithRegisteredName:@"<TEAM ID>.AppSuite.server" host:nil];

为什么?

Mach port names must begin with the application group identifier, followed by a period (.), followed by a name of your choosing.
For example, if your application group’s name is Z123456789.com.example.app-group, [...] You might create a Mach port named Z123456789.com.example.app-group.Port_of_Kobe.
Ref

关于macos - OSX 应用程序和命令行工具之间的 NSConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39475789/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com