iOS ipc(进程间通信)
2016-02-04 本文已影响1826人
某个胖子
iOS中进程(即不同的APP)间通信的方式:
-
Port (local socket)
-
NSMachPort : Foundation层
-
CFMachPort : Core Foundation层 ,使用方式
-
Mach Ports : mach 内核层(线程、进程都可使用它进行通信)
-
原理:
一个App1在本地的端口port1234进行TCP的bind和listen,另外一个App2在同一个端口port1234发起TCP的connect连接,这样就可以建立正常的TCP连接,进行TCP通信了,那么就想传什么数据就可以传什么数据了。 -
特点
灵活,只要连接保持着,随时都可以传任何相传的数据,而且带宽足够大 -
缺点
要通信的另外一方具备在后台运行的权限,像导航或者音乐类app
-
-
scheme
使用open URL 打开app的时候,可以带参数。 -
key chain
需要交互的数据存放在钥匙串中,也可以实现不同的app进行数据传递。
keychain.jpg
-
剪切板
UIPasteboard的使用
pasteboard.jpg
-
UIDocumentInteractionController
UIDocumentInteractionController主要是用来实现同设备上app之间的共享文档,以及文档预览、打印、发邮件和复制等功能
简单使用:
首先通过调用它唯一的类方法 interactionControllerWithURL:,并传入一个URL(NSURL),为你想要共享的文件来初始化一个实例对象。然后UIDocumentInteractionControllerDelegate,然后显示菜单和预览窗口。
