iOS APP与APP之间的通信方式
为什么80%的码农都做不了架构师?>>>
1、URL Scheme
这个最常见了,基本接入分享、支付、地图的,都会用到
2、UIPasteboard
其实就是粘贴板,常见的就是淘口令啥的,也挺常见的
3、Keychain
这个就是一个安全的存储容器,本质其实就是数据库
那Keychain用于App间通信的一个典型场景也和app的登录相关,就是统一账户登录平台。使用同一个账号平台的多个app,只要其中一个app用户进行了登录,其他app就可以实现自动登录不需要用户多次输入账号和密码。一般开放平台都会提供登录SDK,在这个SDK内部就可以把登录相关的信息都写到keychain中,这样如果多个app都集成了这个SDK,那么就可以实现统一账户登录了。
Keychain的使用比较简单,使用iOS系统提供的类KeychainItemWrapper,并通过keychain access groups就可以在应用之间共享keychain中的数据的数据了。
首先通过调用它唯一的类方法 interactionControllerWithURL:,并传入一个URL(NSURL),为你想要共享的文件来初始化一个实例对象。然后UIDocumentInteractionControllerDelegate,然后显示菜单和预览窗口。
不太常见,它的原理很简单,一个App1在本地的端口port1234进行TCP的bind和listen,另外一个App2在同一个端口port1234发起TCP的connect连接,这样就可以建立正常的TCP连接,进行TCP通信了,那么就想传什么数据就可以传什么数据了。
这种方式最大的特点就是灵活,只要连接保持着,随时都可以传任何相传的数据,而且带宽足够大。它的缺点就是因为iOS系统在任意时刻只有一个app在前台运行,那么就要通信的另外一方具备在后台运行的权限,像导航或者音乐类app。
它是常用使用场景就是某个App1具有特殊的能力,比如能够跟硬件进行通信,在硬件上处理相关数据。而App2则没有这个能力,但是它能给App1提供相关的数据,这样APP2跟App1建立本地socket连接,传输数据到App1,然后App1在把数据传给硬件进行处理。
转载于:https://my.oschina.net/rainwz/blog/3015194
iOS APP与APP之间的通信方式相关推荐
- ios app 转移(账号之间转移app)
苹果审核是个很无语的事情,有时候罪名就是那么莫须有,但是又不得不喊着爸爸.有时候会被逼的换账号上传,这就牵扯到 app 的买卖 也就是转移. 再此过程中会牵涉到两个开发者账号的操作app所在的当前的账 ...
- iOS progressive Web App (PWA) 技术
随着 iOS 11.3 的发布,iOS + PWA 的时代终于来了!本文对 iOS 中 PWA 的能力进行了分析,并将其与 iOS 上的 Native App.Android 上的 PWA 进行了深度 ...
- iOS 跳转App的二三事
前言 在iOS平台上,经常有这样的需求,当用户在操作的时候需要唤醒或者说跳转到另外一个App中进行操作. 这其中的类型又分为: App -> App 浏览器web页面 -> App 第一种 ...
- 从今天开始学习iOS开发(iOS 7版)-- 构建一款App之App开发过程 (二)
构建一款App之App开发过程 App开发过程 设计用户界面 定义交互 教程: Storyboard (构建一款app一章中包含四个小节:App开发过程.设计用户界面.定义交互以及教程,本文是第一小节 ...
- IOS调起app的终极方法:Universal Links
一.App"围墙" 各个移动App就像大海中的一座座岛屿,虽然都生活在一个海洋中(Android系统或iOS),但是他们之间通常是老死不相往来.举例来说,在微信应用中,用户基本上就 ...
- iOS APP上架App Store其中一个步骤就是要把ipa文件上传到App Store
下面进行步骤介绍! 利用Appuploader这个软件,可以在Windows.Linux或Mac系统中申请ios和上传IPA到App Store Connect. 非常的方便,没有Mac也可以用App ...
- iOS 直播类APP开发流程
(一) iOS 直播类APP开发流程分解: 1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1.数据采集: 摄像机及拾音器收集视频及音频数据,此时得 ...
- (转载)iOS直播类APP开发流程
转载自博主:iOS_developer_zhong,博客地址: http://blog.csdn.net/zhonggaorong/article/details/51483282 本文为大家分享了i ...
- ifttt_如何使用适用于iOS的IF App设置和应用IFTTT食谱
ifttt In our latest iteration of covering the "If This Then That" ecosystem of apps, we're ...
最新文章
- 大话数据结构(十)java程序——队列
- 布道微服务_10注册中心与RPC框架的选型
- jvm性能调优实战 -52修复堆内存区域内存溢出问题OutOfMemoryError: Java heap space
- 1.3. PostgreSQL 官方 YUM 源安装
- 制作镜像包时遇到的模块加载错误的问题
- 介绍开源的.net通信框架NetworkComms
- SyntaxError: Non-UTF-8 code starting with ‘\xe9‘ in file D:/Users/wxk/PycharmProjects/xzykdx/user/12
- C语言的那些秘密之---函数返回局部变量(转)
- linux下安装配置svn独立服务器
- c语言c程序由函数构成 每个函数完成相对独立的功能,17秋学期(1709)《C语言程序设计》在线作业 满分...
- perl语言 入门(转)
- 数据结构课程设计c语言-校园导游系统
- Python参考手册
- Linux下 SVN 常用命令
- 爬取百度图片——详细思路
- Cannot use the diamond generic notation when running in JDK inferior to 1.7 mode
- iOS-关于解决WebView、WKWEbView打开pdf文件乱码问题
- 去哪家期货公司如何开户?
- MaximalRectangle
- trove 配置文件