iOS App之间的通信方式

1、 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的分享功能,如分享到微信朋友圈微博等,或者是支付场景。比如从滴滴打车结束行程跳转到微信进行支付。

2、UIPasteboard

剪切板

3、UIDocumentInteractionController

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

4、 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在把数据传给硬件进行处理。

5、App Groups

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

iOS App之间的通信方式相关推荐

  1. iOS APP与APP之间的通信方式

    为什么80%的码农都做不了架构师?>>>    1.URL Scheme 这个最常见了,基本接入分享.支付.地图的,都会用到 2.UIPasteboard 其实就是粘贴板,常见的就是 ...

  2. iOS日常学习 - App之间常用的五种通信方式及适用场景总结

    本文为转载学习,原文地址 iOS系统是相对封闭的系统,App各自在各自的沙盒(sandbox)中运行,每个App都只能读取iPhone上iOS系统为该应用程序程序创建的文件夹AppData下的内容,不 ...

  3. iOS实现App之间的分享

    我们在iOS平台上想要实现不同App之间的内容分享一般有几种常用方式: 第一种是通过AirDrop实现不同设备的App之间文档和数据的分享: 第二种是给每个App定义一个URL Scheme,通过访问 ...

  4. IOS开发之App之间的拉起和跳转

    我们平时在浏览HTML5页面的时候,经常会遇到跳转到微信.淘宝.京东等App页面,如下图所示: 那么IOS是如何实现App之间的跳转呢?今天就来学习一下. URL Scheme: IOS在系统层面为我 ...

  5. iOS实现app之间的内容分享总结

    iOS实现app之间的内容分享总结 说到iOS实现app之间的内容分享,第一印象就是社会化分享,然后就是QQ.微信.微博等的第三方分享SDK,当然现在也有很多做社会化分享集合的,例如友盟分享.Shar ...

  6. ios俩个APP之间跳转、传值

    两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个AP ...

  7. ios两个app之间传值和跳转实现(转发)

    两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个AP ...

  8. iOS App跟小程序之间跳转

    移动应用拉起小程序是指用户可以通过接入该功能的第三方移动应用(APP)跳转至某一微信小程序的指定页面,完成服务后跳回至原移动应用(APP). App和小程序互相跳转: 1)App主动发起小程序卡片分享 ...

  9. iOS - App Extension 整体总结

    一.App Extension的介绍 App Extension可以让你扩展你APP的自定义功能和内容,使用户可以在与其他应用或者系统进行互动的时候去使用它.app extension即为本文所说的e ...

  10. iOS App 连接外设的几种方式

    原创作者: Max_Marry 文章地址: http://www.jianshu.com/p/852bf92c5c92 随着近年来车联网和物联网的兴起,智能家居和智能硬件的逐步火热,越来越多的 App ...

最新文章

  1. 字符串数字转换成对应的Double数值
  2. 推荐八款来自极客标签的超棒前端特效[第八期]
  3. 008 python接口 unittest
  4. 用7*7的卷积核分类9*9的图片到底应该用几个卷积核?55个
  5. 产品助理要练哪些姿势,才能看上去舞步优雅?
  6. mysql 数据库还原后没有_MySQL数据库的备份还原至最新状态
  7. linux redis php,Linux下编译redis和phpredis的方法
  8. EEPlat的元模型体系
  9. vs2013 创建MVC4项目出错。找不到指定的文件.(Exception HRESULT:08x0070002)
  10. Oracle online系列(下):online indexbuild
  11. 图解HTTP---------------------------------------------------3
  12. 完全卸载exchange2010
  13. CleanMyMac X断网激活码免费共享教程免费分享
  14. 计算机键盘有哪些作用,电脑键盘各个按键有哪些作用 电脑键盘各个按键作用介绍...
  15. 用window调用kjb和ktr
  16. efm32芯片电压_【经验】基于EFM32G232芯片 ADC采样毛刺问题分析以及解决方案
  17. 阿里薪资谈判技巧_如何像专业人士一样处理技术职业中的薪资谈判
  18. Premiere视频调色处理,将彩色画面转变成黑白色 myblogfree
  19. KV260开箱初体验
  20. kafka请求全流程(二)—— 请求的接收以及分发

热门文章

  1. Atitit 提升可读性的艺术 目录 1. 几大原则 2 1.1. 直接原则,无脑原则。。。 2 2. 本地化命名法 2 2.1. 可以使用管理命名法 多个api 比如old api,new ap
  2. Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针
  3. paip.软件及网站项目开发效率低下的思索与改进
  4. Julia : 正则表达式
  5. Rust : WSL下编程
  6. 逆袭?或将掌舵万亿SaaS巨头的Taylor竟是“天选之人”
  7. 那一年,创业 vs 阿里(下):阿里篇
  8. functions.php隐藏恶意代码,警惕WordPress主题functions.php包含的恶意代码
  9. 毕设题目:Matlab元胞自动机生命游戏
  10. 【数字信号去噪】基于matlab中值滤波+奇异值分解(SVD)数字信号降噪【含Matlab源码 1021期】