美文网首页
iOS ipc(进程间通信)

iOS ipc(进程间通信)

作者: 某个胖子 | 来源:发表于2016-02-04 16:28 被阅读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,然后显示菜单和预览窗口。

documnetInteraction.jpg

出处

相关文章

网友评论

      本文标题:iOS ipc(进程间通信)

      本文链接:https://www.haomeiwen.com/subject/wpvekttx.html