1

我的应用程序有两个目标。我需要在两个目标之间进行通信。因此,我将一个应用程序注册为服务器,该服务器已获得标识符和服务器名称。我尝试使用以下代码检索代理。标识符名称已设置为第二个目标。当我从第二个目标调用服务器对象时,我在控制台中得到了拒绝 mach-loop。

    id proxy = nil;
    proxy = [[NSConnection rootProxyForConnectionWithRegisteredName:@"MYSERVER"
                                                               host:nil] retain];

当我禁用沙盒时,我可以获得上述代理对象。但是,当我启用沙盒时,我无法获取代理对象。这背后的原因可能是什么。

问候,

4

2 回答 2

0

沙盒阻止了分布式对象连接。

听起来您需要了解沙盒的工作原理。

XPC 可能是分布式对象的一个​​很好的替代方案,具体取决于您要完成的任务。

于 2013-04-03T14:26:27.473 回答
0

我们可以通过使用权利属性来做到这一点。我们必须设置另一个应用程序的捆绑标识符,这里是链接:http: //developer.apple.com/library/mac/#documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc /uid/TP40011195-CH4-SW5

于 2013-04-05T05:36:37.227 回答