为什么80%的码农都做不了架构师?>>>   

1、URL Scheme

这个最常见了,基本接入分享、支付、地图的,都会用到

2、UIPasteboard

其实就是粘贴板,常见的就是淘口令啥的,也挺常见的

3、Keychain

这个就是一个安全的存储容器,本质其实就是数据库

,它的位置存储在/private/var/Keychains/keychain-2.db,不过它所保存的所有数据都是经过加密的,可以用来为不同的app保存敏感信息,比如用户名,密码等。iOS系统自己也用keychain来保存VPN凭证和Wi-Fi密码。它是独立于每个App的沙盒之外的,所以即使App被删除之后,Keychain里面的信息依然存在。基于安全和独立于app沙盒的两个特性,Keychain主要用于给app保存登录和身份凭证等敏感信息,这样只要用户登录过,即使用户删除了app重新安装也不需要重新登录。
那Keychain用于App间通信的一个典型场景也和app的登录相关,就是统一账户登录平台。使用同一个账号平台的多个app,只要其中一个app用户进行了登录,其他app就可以实现自动登录不需要用户多次输入账号和密码。一般开放平台都会提供登录SDK,在这个SDK内部就可以把登录相关的信息都写到keychain中,这样如果多个app都集成了这个SDK,那么就可以实现统一账户登录了。
Keychain的使用比较简单,使用iOS系统提供的类KeychainItemWrapper,并通过keychain access groups就可以在应用之间共享keychain中的数据的数据了。
4、UIDocumentInteractionController
这个常见的就是打开方式,然后出现不同的原生/非原生的APP,主要是用来实现同设备上app之间的共享文档,以及文档预览、打印、发邮件和复制等功能。它的使用非常简单.
首先通过调用它唯一的类方法 interactionControllerWithURL:,并传入一个URL(NSURL),为你想要共享的文件来初始化一个实例对象。然后UIDocumentInteractionControllerDelegate,然后显示菜单和预览窗口。
5、local socket

不太常见,它的原理很简单,一个App1在本地的端口port1234进行TCP的bind和listen,另外一个App2在同一个端口port1234发起TCP的connect连接,这样就可以建立正常的TCP连接,进行TCP通信了,那么就想传什么数据就可以传什么数据了。

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

它是常用使用场景就是某个App1具有特殊的能力,比如能够跟硬件进行通信,在硬件上处理相关数据。而App2则没有这个能力,但是它能给App1提供相关的数据,这样APP2跟App1建立本地socket连接,传输数据到App1,然后App1在把数据传给硬件进行处理。

6、AirDrop
通过AirDrop实现不同设备的App之间文档和数据的分享;
7、UIActivityViewController
iOS SDK中封装好的类在App之间发送数据、分享数据和操作数据;
8、App Groups
App Group用于同一个开发团队开发的App之间,包括App和Extension之间共享同一份读写空间,进行数据共享。同一个团队开发的多个应用之间如果能直接数据共享,大大提高用户体验。

转载于:https://my.oschina.net/rainwz/blog/3015194

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

  1. ios app 转移(账号之间转移app)

    苹果审核是个很无语的事情,有时候罪名就是那么莫须有,但是又不得不喊着爸爸.有时候会被逼的换账号上传,这就牵扯到 app 的买卖 也就是转移. 再此过程中会牵涉到两个开发者账号的操作app所在的当前的账 ...

  2. iOS progressive Web App (PWA) 技术

    随着 iOS 11.3 的发布,iOS + PWA 的时代终于来了!本文对 iOS 中 PWA 的能力进行了分析,并将其与 iOS 上的 Native App.Android 上的 PWA 进行了深度 ...

  3. iOS 跳转App的二三事

    前言 在iOS平台上,经常有这样的需求,当用户在操作的时候需要唤醒或者说跳转到另外一个App中进行操作. 这其中的类型又分为: App -> App 浏览器web页面 -> App 第一种 ...

  4. 从今天开始学习iOS开发(iOS 7版)-- 构建一款App之App开发过程 (二)

    构建一款App之App开发过程 App开发过程 设计用户界面 定义交互 教程: Storyboard (构建一款app一章中包含四个小节:App开发过程.设计用户界面.定义交互以及教程,本文是第一小节 ...

  5. IOS调起app的终极方法:Universal Links

    一.App"围墙" 各个移动App就像大海中的一座座岛屿,虽然都生活在一个海洋中(Android系统或iOS),但是他们之间通常是老死不相往来.举例来说,在微信应用中,用户基本上就 ...

  6. iOS APP上架App Store其中一个步骤就是要把ipa文件上传到App Store

    下面进行步骤介绍! 利用Appuploader这个软件,可以在Windows.Linux或Mac系统中申请ios和上传IPA到App Store Connect. 非常的方便,没有Mac也可以用App ...

  7. iOS 直播类APP开发流程

    (一) iOS 直播类APP开发流程分解: 1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1.数据采集: 摄像机及拾音器收集视频及音频数据,此时得 ...

  8. (转载)iOS直播类APP开发流程

    转载自博主:iOS_developer_zhong,博客地址: http://blog.csdn.net/zhonggaorong/article/details/51483282 本文为大家分享了i ...

  9. ifttt_如何使用适用于iOS的IF App设置和应用IFTTT食谱

    ifttt In our latest iteration of covering the "If This Then That" ecosystem of apps, we're ...

最新文章

  1. 大话数据结构(十)java程序——队列
  2. 布道微服务_10注册中心与RPC框架的选型
  3. jvm性能调优实战 -52修复堆内存区域内存溢出问题OutOfMemoryError: Java heap space
  4. 1.3. PostgreSQL 官方 YUM 源安装
  5. 制作镜像包时遇到的模块加载错误的问题
  6. 介绍开源的.net通信框架NetworkComms
  7. SyntaxError: Non-UTF-8 code starting with ‘\xe9‘ in file D:/Users/wxk/PycharmProjects/xzykdx/user/12
  8. C语言的那些秘密之---函数返回局部变量(转)
  9. linux下安装配置svn独立服务器
  10. c语言c程序由函数构成 每个函数完成相对独立的功能,17秋学期(1709)《C语言程序设计》在线作业  满分...
  11. perl语言 入门(转)
  12. 数据结构课程设计c语言-校园导游系统
  13. Python参考手册
  14. Linux下 SVN 常用命令
  15. 爬取百度图片——详细思路
  16. Cannot use the diamond generic notation when running in JDK inferior to 1.7 mode
  17. iOS-关于解决WebView、WKWEbView打开pdf文件乱码问题
  18. 去哪家期货公司如何开户?
  19. MaximalRectangle
  20. trove 配置文件

热门文章

  1. Hinton一作新论文:如何在神经网络中表示“部分-整体层次结构”?
  2. 60颗卫星被五手火箭送上天!马斯克疯狂的卫星互联网计划不远了
  3. 学自动化必知:20个传感器原理及应用动图
  4. 因果关系:真的存在吗?
  5. 今年的谷歌I/O大会,或许会有这些东西
  6. 斯坦福证明神经网络能直接在光学芯片上训练
  7. Java平均工资再次上涨!这份宝藏资料限量免费送!
  8. 王兴:一鸣开始动手了
  9. 八大操作系统掌门人齐聚 1024 程序员节,千年岳麓见证开源新时代
  10. 干货!Java 学习路线指南,看这文就够了!