iOS App之间的通讯方式

iOS App之间的通讯方式

一、 URL Scheme

这个是iOS app通讯最经常使用到的通讯方式,App1经过openURL的方法跳转到App2,而且在URL中带上想要的参数,有点相似http的get请求那样进行参数传递。这种方式是使用最多的最多见的,使用方法也很简单只须要源App1在info.plist中配置LSApplicationQueriesSchemes,指定目标App2的scheme;而后在目标App2的info.plist中配置好URL types,表示该app接受何种URL scheme的唤起。 典型的使用场景就是各开放平台SDK的分享功能,如分享到微信朋友圈微博等,或者是支付场景。好比从滴滴打车结束行程跳转到微信进行支付。微信

二、UIPasteboard

剪切板app

三、UIDocumentInteractionController

UIDocumentInteractionController主要是用来实现同设备上app之间的共享文档,以及文档预览、打印、发邮件和复制等功能。它的使用很是简单.socket

四、 Local Socket

这种方式不太常见,也是很容易被iOS开发者所忽略可是特别实用的一种方法。它的原理很简单,一个App1在本地的端口port1234进行TCP的bind和listen,另一个App2在同一个端口port1234发起TCP的connect链接,这样就能够创建正常的TCP链接,进行TCP通讯了,那么就想传什么数据就能够传什么数据了。开发

这种方式最大的特色就是灵活,只要链接保持着,随时均可以传任何相传的数据,并且带宽足够大。它的缺点就是由于iOS系统在任意时刻只有一个app在前台运行,那么就要通讯的另一方具有在后台运行的权限,像导航或者音乐类app。文档

它是经常使用使用场景就是某个App1具备特殊的能力,好比可以跟硬件进行通讯,在硬件上处理相关数据。而App2则没有这个能力,可是它能给App1提供相关的数据,这样APP2跟App1创建本地socket链接,传输数据到App1,而后App1在把数据传给硬件进行处理。get

五、App Groups

App Group用于同一个开发团队开发的App之间,包括App和Extension之间共享同一份读写空间,进行数据共享。同一个团队开发的多个应用之间若是能直接数据共享,大大提升用户体验。io

相关文章
相关标签/搜索