Mac OS下的IPC方式种类不少,大约有下面几种。
1. Mach API
2. CFMessagePort
3. Distributed Objects (DO)
4. Apple events
5. UNIX domain sockets
6. Internet sockets
7. Memory Mapping
第一种太底层,不多有人用苹果也不推荐
第2,3,4种是苹果提供的较为高层的通信机制
第5,6种你们应该都知道,用sockets方法离散度,移植性更好。5和6有一些区别,5使用unix文件系统做为通信媒介,能够使用unix文件权限系统作通信限制,它的另一个名字就叫ipc sokets,6能够作机器间通信作本地ipc也能够,不过要额外作一些努力。
第7种... 有把握用的人很少(我最近也在看这个)。
我想以上一些够你选择了
另外,我能够说一下个人选择
1. 假如你的进程间通信不频繁,只是发送一些异步信号,DO是很好的选择,也就是楼上有人说得NSDistributedNotificationCenter
2. 若是你的进程间通信频繁,但数据量不大,须要响应度高,domain sockets很好(DO也许也能知足,你本身测试测试)
3. 最后若是进程间通信频繁,数据流巨大例如音频,图片等,须要real-time级别的, 选择Memory Mapping, 缺点是这个技术复杂须要本身作内存paging管理。app