一,URL方案

URL方案有3个主要用途:根据设备上其他应用的存在与否调整逻辑,切换到其他应用以及响应打开你的应用的其他应用。你还可以通过URL方案从某个站点或是在基于Web的认证流程结束是打开应用。

1,实现自定义的URL方案。

2,感知其它应用的存在。

3,高级通信。

1)base64编码,专门用于将二进制数据表示为ASCII文本字符串。可以使用一个标准化的转换表格将二进制数据的每6位编码为一个字符。

2)要想创建图像数据字符串,需要使用之前介绍的3个步骤。序列化图片,使用base64对其进行编码,然后使用URL再次进行编码。

二,共享钥匙串

共享钥匙串是对企业来说特别有用,因为它会创建一块公共区域,共享同一Bundle Seed ID的所有应用都可以访问这块区域。通过这块共享空间,我们可以非常轻松地为一组相关应用实现单点登录认证系统。此外,在钥匙串中存储数据的应用会检测自身之前的安装,这样就可以通过重用之前提供的认证信息或是针对期望的用户调整用户界面来改善用户体验。

iOS钥匙串针对受保护的操作系统数据提供了单独的区域来实现安全存储。第三方应用也可以通过该存储来保存类似的受保护数据。要想保证安全性,钥匙串条目也可以通过该存储来保存类似的受保护数据。要想保证安全性,钥匙串条目应总是在加密之后保存在磁盘上和设备备份中。即便删除 应用,受保护的数据依然会留在钥匙串中,这样后面再次安装应用时就可以重用相同的信息了。同一开发者所开发的多个应用可以通过配置使用相同的加密密钥,这样每个应用就可以访问共享的钥匙串条目了。

1,企业SSO。

SSO常常被实现为一个端到端的认证框架,可以让用户通过一套共享的认证信息对多个应用进行认证。如果登录成功,那么SSO提供者通常会生成一个认证令牌,令牌会存储起来并用于对所有后续请求进行签名。

2,检测应用之前的安装。

参考资料:《iOS网络高级编程-iPhone和iPad的企业应用开发》

 
 

【读书笔记】iOS-网络-应用间通信的更多相关文章

  1. 【读书笔记】iOS网络-应用间通信

    一,URL方案 URL方案有3个主要用途:根据设备上其他应用的存在与否调整逻辑,切换到其他应用以及响应打开你的应用的其他应用.你还可以通过URL方案从某个站点或是在基于Web的认证流程结束是打开应用. ...

  2. 《android开发进阶从小工到专家》读书笔记--HTTP网络请求

    No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服 ...

  3. 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题

    调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...

  4. Java笔记(二十)……线程间通信

    概述 当需要多线程配合完成一项任务时,往往需要用到线程间通信,以确保任务的稳步快速运行 相关语句 wait():挂起线程,释放锁,相当于自动放弃了执行权限 notify():唤醒wait等待队列里的第 ...

  5. 读书笔记_python网络编程3(6)

    6.TLS/SSL 6.0. 传输层安全协议(TLS, Transport Layer Security)是如今web上应用最广泛的加密方法了,1999年成为互联网标准.前身是安全套接层(SSL, S ...

  6. 读书笔记_python网络编程3(5)

    5. 网络数据与网络错误 应该如何准备需要传输的数据? 应该如何对数据进行编码与格式化? Py程序需要提供哪些类型的错误? 5.1. 字节与字符串 PC与网卡都支持将字节作为通用传输单元.字节将8比特 ...

  7. 读书笔记_python网络编程3_(3)

    3.TCP:传输控制协议 第一个版本在1974年定义,建立在网际层协议(IP)提供的数据包传输技术之上.TCP使程序可以使用连续的数据流进行相互通信. 除非网络原因导致连接中断/冻结,TCP都能保证将 ...

  8. 读书笔记_python网络编程3_(2)

    2.UDP 2.0.数据包表示较短的信息,大小通常不会超过几千字节,在浏览器与服务器进行会话/电子邮件客户端与ISP的邮件服务器进行会话时,这些独立而小型的数据包是如何组成会话的呢? 2.0.1.IP ...

  9. 读书笔记_python网络编程3_(1)

    0.前言 代码目录: https://github.com/brandon-rhodes/fopnp/tree/m/py3 0.1.网络实验环境:理解客户端与服务器是如何通过网络进行通信的 每台机器通 ...

  10. [读书笔记]iOS 7 UI设计 对比度

    好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的 ...

随机推荐

  1. Shuffle(洗牌)

    Shuffle(洗牌)    图    map        1.Map Task的输出k v,一开始会进入溢写缓冲区中,对数据做处理,比如分区.排序等操作.        2.有几个Map Task ...

  2. js基础知识--变量类型和变量计算

    提问: JS中使用typeof能得到的哪些类型 何时使用===何时使用== JS中有哪些内置函数 JS变量按照存储方式区分为哪些类型,并描述其特点 如何理解JSON 涉及知识点:(1)变量类型 值类型 ...

  3. sql 导入导出表数据 命令

    那么在我们使用BCP命令之前,我们首先要在Sql Server数据库中执行下列语句,以修改Sql Server的配置,启用对BCP命令的支持. --允许配置高级选项 exec sp_configure ...

  4. VScode中支持Python虚拟环境

    要在VScode中使用Python的virtualenv虚拟环境,首先在设置同添加虚拟环境所在目录和虚拟环境的识别规则: { ... "python.venvPath": &quo ...

  5. Toast优化,解决频繁点击多次出现

    日常用到Taost的机会很多,用就大家都会用,但是直接使用时,频繁点击Toast就会频繁出现,点击多少次就出现多少次,如果你不在页面的生命周期相应位置cancel掉Toast的话,即使退出了页面也是会 ...

  6. tomcat8 进入不了Manager App 界面 403 Access Denied

    准备 1.注释掉context.xml中的value属性 使用下面的命令: vim /usr/local/tomcats/tomcat-daily/webapps/manager/META-INF/c ...

  7. Google CodeJam 2016 round3-A.Teaching Assistant

    题目描述: 原题是纯英文,大意是:你每天可以选择一门课去学习,选题和提交答案.题目为Coding或者Jamming.选的题目如果和老师选的一致,提交答案也匹配,最后可以得10分,若选题不一致只能得5分 ...

  8. 文件句柄FileDescriptor的hanle/fd两个字段分析

    对于FileInputStream/FileOutputStream/RandomAccessFile,使用handle来表示底层的文件句柄 对于ServerSocket/Socket,使用fd来表示 ...

  9. java concurrent 探秘

    我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量Java ...

  10. js实现四叉树算法

    最近在看canvas动画方面教程,里面提到了采用四叉树检测碰撞.之前也看到过四叉树这个名词,但是一直不是很懂.于是就又找了一些四叉树方面的资料看了看,做个笔记,就算日后忘了,也可以回来看看. Quad ...