在 Windows 中,我可以将自定义消息发布到另一个进程并通知它执行以下操作:
PostMessage(WindowOfAnyProcess, WM_CUSTOM_MESSAGE, param1, param2)
Mac OS 上的替代方案是什么?碳事件对我有帮助吗?如何?谢谢你。
在 Windows 中,我可以将自定义消息发布到另一个进程并通知它执行以下操作:
PostMessage(WindowOfAnyProcess, WM_CUSTOM_MESSAGE, param1, param2)
Mac OS 上的替代方案是什么?碳事件对我有帮助吗?如何?谢谢你。
假设这两个进程都是你的,你可以使用NSDistributedNotificationCenter向每个进程发送通知和数据。
为此,请执行以下操作:
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"HelloFromProcessOne" object:nil]
如果要包含数据,可以使用:
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"HelloFromProcessOne" object:nil userInfo:[NSDictionary dictionaryWithObject:@"some info here" forKey:@"data"]]
需要补充一点:
沙盒应用只有在不包含字典的情况下才能发送通知。如果发送应用程序在 App Sandbox 中,则notificationInfo
必须是nil
. 这意味着如果您打算以 Mac AppStore 为目标,您将无法在通知中提供信息。
要使应用程序接收通知,请执行以下操作:
[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(someNotificationUpdate:) name:@"HelloFromProcessOne" object:nil]
someNotificationUpdate:
将被声明为:
- (void)someNotificationUpdate:(NSNotification *)note;