App Extension应用扩展
对于App Extension, 相信大家并不陌生,在iOS8系统中,苹果为了使app间数据甚至功能进行共享,就有了 扩展 这一功能,
应用程序扩展不是一个应用,相反,它是主体应用程序(containing app)中一个单独的包,并能生成单独的二进制文件。与主体应用程序不同,应用扩展实现的是一个特定的、狭义范围内的任务,并且要严格遵循扩展点的协议。下面主要在四个方面进行讲解。
- 1. 名词解释 App Extension
- 2.应用扩展的类型
- 3.应用程序扩展的生命周期
- 4.应用扩展是如何进行通信的
1.名词解释 App Extension
基于iOS系统的安全性考虑,其应用的数据存储是通过沙盒模式进行的,要实现应用之间的数据共享十分困难,功能共享就更加棘手。在iOS8系统中,apple为我们提供了一个革命性的功能:扩展。我们可以通过扩展来使app间数据甚至功能进行共享。
沙盒 - 应用程序只能在该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。总体来说沙盒就是一种独立、安全、封闭的空间。
应用扩展程序可以让我们自定义功能和内容扩展到应用程序之外,并在用户与其他应用程序或系统交互时提供给用户使用。
2.应用扩展的类型
在iOS8种,只有6种扩展, 包括Today Extension, Share Extension,Action Extension, Photo Editing Extension, Custom Keyboard Extension, Storage Provider Extension, 后来又先序有很多扩展点,具体看图
介绍一下常见的扩展
1.Today Extension 以前在通知 today 那栏 现在在spotLight那栏,对于有扩展功能的APP,安装APP的时候,扩展同时也安装了,可在spotlight下 点击Edit 进行添加扩展。如图天气,备忘录 都是系统的扩展,主要是用来进行展示的,同时可以与app进行交互。