http://blog.youkuaiyun.com/jianxin160/article/details/51834075
最新的iOS 9 新增的extension 扩展的知识点
包括了 键盘/today/share/等等的扩展应用
这里转载一下,收藏起来!!!
概述
从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互。它的出现让自定义键盘、系统分享集成等这些依靠系统服务的开发变成了可能。WWDC 2016上众多更新也都是围绕扩展这一主题来进行了的,例如开发的Siri、iMessage Apps其实都是依靠扩展来工作的。在最新的Xcode 8 beta中也增加了众多的Extension 模板帮助开发者更快的实现不同类型的扩展。因此今天有必要介绍一下扩展相关的开发内容。
扩展的生命周期
iOS对于扩展的支持已经由最初的6类到了如今iOS10的19类(相信随着iOS的发展扩展的覆盖面也会越来越广),当然不同类型的扩展其用途和用法均不尽相同,但是其工作原理和开发方式是类似的。下面列出扩展的几个共同点:
- 扩展依附于应用而不能单独发布和部署;
- 扩展和包含扩展的应用(containing app)生命周期是独立的,分别运行在两个不同的进程中;
- 扩展的运行依赖于宿主应用(或者叫载体应用 host app,而不是containing app)其生命周期由宿主应用确定;
- 对开发者而言扩展作为一个单独的target而存在;
- 扩展通常展现在系统UI或者其他应用中,运行应该尽可能的迅速而功能单一;