

原文:
https://kunnan.blog.csdn.net/article/details/86625994
扩展 (Extension) 是 iOS 8 和 OSX 10.10 加入的一个非常大的功能点,开发者可以通过系统提供给我们的扩展接入点 (Extension point) 来为系统特定的服务提供某些附加的功能。



在这里插入图片描述
对于 iOS 来说,可以使用的扩展接入点有以下几个:
iOS NotificationServiceExtension实现VoiceBroadcast【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1以上在后台或者被杀死无法语音播报的解决方案
———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/z929118967/article/details/103702284


在这里插入图片描述

在这里插入图片描述
提供一个可以用在所有应用的替代系统键盘的自定义键盘或输入法:自定义键盘需要用户在设置中进行配置,才能在输入文字时使用。
例子:iOS上USB Keyboard安装后,打开“设置 - 通用 - 键盘 - 键盘 - 添加新键盘“,在”第三方键盘“区域点击”USB Keyboard“。
通过音频单元扩展,你可以提供音频效果、声音生成器和乐器,这些可以由音频单元宿主应用程序使用,并通过应用程序商店分发。
用户在安装了带有扩展的应用后,将可以在通知中心的今日界面中,或者是系统的设置中来选择开启还是关闭你的扩展。
而对于开发者来说,提供扩展的方式是在 app 的项目中加入相应的扩展的 target。

因为扩展一般来说是展现在系统级别的 UI 或者是其他应用中的,Apple 特别指出,扩展应该保持轻巧迅速,并且专注功能单一,在不打扰或者中断用户使用当前应用的前提下完成自己的功能点。
应用程序扩展并不是一个独立的应用程序,它是包含在应用Bundle里一个独立的包,后缀名为.appex。
包含应用程序扩展的应用程序被称为容器应用(Containing App),能够使用该扩展的应用被称为宿主应用(Host App)