首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >iOS App Extension :【App Extension类型、生命周期、通信、App Extension案例】

iOS App Extension :【App Extension类型、生命周期、通信、App Extension案例】

作者头像
公众号iOS逆向
发布2021-03-24 16:01:03
发布2021-03-24 16:01:03
2.6K0
举报
文章被收录于专栏:iOS逆向与安全iOS逆向与安全

前言

原文:

https://kunnan.blog.csdn.net/article/details/86625994

扩展 (Extension) 是 iOS 8 和 OSX 10.10 加入的一个非常大的功能点,开发者可以通过系统提供给我们的扩展接入点 (Extension point) 来为系统特定的服务提供某些附加的功能。

在这里插入图片描述

I、 App Extension

1.1 App Extension类型

对于 iOS 来说,可以使用的扩展接入点有以下几个:

iOS NotificationServiceExtension实现VoiceBroadcast【app处于后台/被杀死的状态仍可进行语言播报】iOS12.1以上在后台或者被杀死无法语音播报的解决方案

———————————————— 版权声明:本文为CSDN博主「#公众号:iOS逆向」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/z929118967/article/details/103702284

  • Today 扩展 - 在下拉的通知中心的 "今天" 的面板中添加一个 widget

在这里插入图片描述

  • 分享扩展 :使用户在不同的应用程序之间分享内容。点击分享按钮后将网站或者照片通过应用分享

在这里插入图片描述

  • 动作扩展 - 点击 Action 按钮后通过判断上下文来将内容发送到应用:动作扩展允许在Action Sheet中创建自定义动作按钮,例如允许用户为文档添加水印、向提醒事项中添加内容、将文本翻译成其他语言等。动作扩展和分享扩展一样都可以在任意的应用程序中激活使用,同样也需要开发者进行相应的设置
  • 照片编辑扩展 - 在系统的照片应用中提供照片编辑的能力:将你提供的滤镜或编辑工具嵌入到系统的照片和相机应用程序中,这样用户就可以很容易地将其应用到图像和视频中
  • 文档提供扩展 - 提供和管理文件内容:如果你的应用程序是给用户提供iOS文档的远程存储,就可以创建一个Document Provider,让用户可以直接在任何兼容的应用程序中上传和下载文档
  • 自定义键盘

提供一个可以用在所有应用的替代系统键盘的自定义键盘或输入法:自定义键盘需要用户在设置中进行配置,才能在输入文字时使用。

例子:iOS上USB Keyboard安装后,打开“设置 - 通用 - 键盘 - 键盘 - 添加新键盘“,在”第三方键盘“区域点击”USB Keyboard“。

  • Audio

通过音频单元扩展,你可以提供音频效果、声音生成器和乐器,这些可以由音频单元宿主应用程序使用,并通过应用程序商店分发。

1.2 用户如何使用扩展?

用户在安装了带有扩展的应用后,将可以在通知中心的今日界面中,或者是系统的设置中来选择开启还是关闭你的扩展。

而对于开发者来说,提供扩展的方式是在 app 的项目中加入相应的扩展的 target。

因为扩展一般来说是展现在系统级别的 UI 或者是其他应用中的,Apple 特别指出,扩展应该保持轻巧迅速,并且专注功能单一,在不打扰或者中断用户使用当前应用的前提下完成自己的功能点。

II、 扩展的生命周期

应用程序扩展并不是一个独立的应用程序,它是包含在应用Bundle里一个独立的包,后缀名为.appex。

包含应用程序扩展的应用程序被称为容器应用(Containing App),能够使用该扩展的应用被称为宿主应用(Host App)

  • 例子:,Safari里使用微信的扩展,将一个网页分享到微信中,则Safari就是宿主应用,微信就是容器应用。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 前言
  • I、 App Extension
    • 1.1 App Extension类型
    • 1.2 用户如何使用扩展?
  • II、 扩展的生命周期
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档