今日扩展 使用说明
- 创建方式:在项目创建后的情况下,点击 File -> new -> Target 然后在弹出的窗口中选择Today Extension。然后输入扩展的名称即可,完成后会以分组文件夹的形式显示到项目目录中。
- 他是系统的扩展,不是完整的app,需要有主要的app(宿主app)的存在才能够使用它。
- 一般用开将自己app中当天常用到的信息或者功能进行呈现,用户点击过后可快速唤起对应的主app,也可也针对不同的选项,跳转到app指定的页面。
- 用户在today extension中点击对应的图标,在ios13中可直接跳转到对应的app,或者唤醒对应的app并立即展示给用户,这中方式只能转换到宿主app,不能传入参数。
- 以传入参数的方式打开宿主app,并让宿主app跳转到对应的页面的功能实现:在扩展中,使用ExtensionContex.open(url:completionhandler:)函数打开宿主app,宿主app能接受到URL !!!
- 以上打开宿主app是使用的宿主app的Schem URL方式进行打开的,同样的,用这种方式我们的宿主app也可以打开其他的app,当然扩展中打开的方式不是使用UIApplication来操作的,由于扩展是系统app的扩展,所以为了安全使用的是extensionContex。
- 跳转到宿主app以后,要是app已经启动过且没有被杀掉,那么会立即调用func scene(_ scene: UIScene, openURLContexts URLContexts: Set)函数(ios13以后的版本,ios12及以前是调用的application(:open…)