美文网首页
iOS 进程间通信的8种方式

iOS 进程间通信的8种方式

作者: 林鹏_dev | 来源:发表于2021-06-08 08:48 被阅读0次

1、URL scheme

      这个是iOS APP通信最常用到的通信方式,APP1通过openURL的方法跳转到APP2,并且在URL中带上想要的参数,有点类似HTTP的get请求那样进行参数传递。这种方式是使用最多的最常见的,使用方法也很简单只需要源APP1在info.plist中配置LSApplicationQueriesSchemes,指定目标App2的scheme;然后再目标App2的info.plist 中配置好URLtypes,表示该App接受何种URL scheme的唤起。

2、Keychain

      iOS 系统的keychain是一个安全的存储容器,它本质上就是一个sqlite数据库,它的位置存储在/private/var/Keychains/keychain-2.db,不过它索八坪村的所有数据都是经过加密的,可以用来为不同的APP保存敏感信息,比如用户名,密码等。iOS系统自己也用keychain来保存VPN凭证和WiFi密码。它是独立于每个APP的沙盒之外的,所以即使APP被删除之后,keychain里面的信息依然存在

3、UIPasteBoard

      uipasteboard是剪切板功能,因为iOS 的原生空间UItextView,UItextfield,UIwebView ,我们在使用时如果长按,就回出现复制、剪切、选中、全选、粘贴等功能,这个就是利用系统剪切板功能来实现的。

4、UIDocumentInteractionController

      uidocumentinteractioncontroller 主要是用来实现同设备上APP之间的贡献文档,以及文档预览、打印、发邮件和复制等功能。

5、Local socket

    原理:一个APP1在本地的端口port1234 进行TCP的bind 和 listen,另外一个APP2在同一个端口port1234发起TCP的connect连接,这样就可以简历正常的TCP连接,进行TCP通信了,然后想传什么数据就可以传什么数据了

NSMatchPort进程通信就是该种方式

6、AirDrop

      通过 Airdrop实现不同设备的APP之间文档和数据的分享

7、UIActivityViewController

      iOS SDK 中封装好的类在APP之间发送数据、分享数据和操作数据

8、APP Groups

      APP group用于同一个开发团队开发的APP之间,包括APP和extension之间共享同一份读写空间,进行数据共享。同一个团队开发的多个应用之间如果能直接数据共享,大大提高用户体验.

CFNotificationCenterRef是iOS 进程间通信的一种方式,是一种通知的机制,适用于container app 与 extension app进行通信。

使用之前,需要为container app与extension app设置 App Group,这样才能接收到彼此发送的进程间通知。

进程间通信如果需要传递复杂的数据,可以使用第三方库MMWormhole

相关文章

  • iOS ipc(进程间通信)

    iOS中进程(即不同的APP)间通信的方式: Port (local socket)NSMachPort : Fo...

  • 第二十三章 进程间通信介绍(一)

    本章目标: 进程同步与进程互斥 进程间通信目的 进程间通信发展 进程间通信分类 进程间共享信息的三种方式 IPC对...

  • iOS进程通信之LocalSocket

    iOS进程通信 在iOS中,进程通信的方式有很多种;下面先列举下常用的几种方式: URL scheme Keych...

  • Android 面试常问知识

    Q1:线程间的通信进程间通信的几种方式进程间通信方式详解Q2:线程安全SharePreferences 是否线程安...

  • UNIX系统进程间的通信方式

    unix进程间的通信方式

  • 进程间通信方式

    管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字...

  • 进程间通信方式

    概述 进程通信(Interprocess Communication,IPC)是一个进程与另一个进程间共享消息的一...

  • 进程间通信方式

    管道(PIPE):管道是一种半双工的通信方式,数据只能单向流动,一般只能用于父子进程间的通信。 有名管道(name...

  • 进程间通信方式

    01概述 1.1 发展 Linux进程间通信(IPC)大致发展如下: 早期UNIX进程间通信、基于System ...

  • Python Socket 网络编程

    Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络...

网友评论

      本文标题:iOS 进程间通信的8种方式

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