• Ios8新特性-应用程序扩展


    一.什么是应用程序扩展?

    应用程序扩展不是一个应用,它是主体应用程序(containing app)中一个单独的包,并能生成单独的二进制文件供其他应用调用。

    个人感觉,类似于WP中的启动器,把系统当个软件,启动器就是应用程序扩展;

    二.与普通应用的关系

    1.应用扩展不同于应用,但是需要基于应用去开发应用扩展,每个应用扩展都是独立于应用运行的二进制文件。

    2.与主体应用程序不同,应用扩展实现的是一个特定的、狭义范围内的任务,并且要严格遵循扩展点的协议。

    三、生命周期

    1.生命周期开始于用户从某个应用中启动它;

    2.当应用扩展完成载体应用发送的请求任务后,该扩展的生命周期也随之结束。

    3.在对用户的操作做出响应的过程中,扩展会根据载体应用的请求立即开始执行任务;

    4可以系统后台执行任务。

    四、如何进行通信

    1.当应用扩展在运行的时候,它只会直接和 host app 进行通信,而扩展和containing app之间不会直接通信;

    假设微信做了一个分享的扩展,我们自己的APP去访问,host app 即我们自己的APP, containing app即微信;

    2.当一个扩展需要和containing app进行通信时,只能在载体应用确定的上下文环境中进行间接通信,即微信和微信的扩展不在一个进程中,属于进程间通信;

    通信方式有Open URL,共享内存;

    五、如何开发

    1.一个扩展程序只能对应一个扩展点,这些扩展点由Apple来定;

    2.每一个应用扩展会对应一个Target,一个APP可以有多个应用扩展

    3.包含扩展的应用必须提供一个扩展之外的功能,扩展应用不是一个完整意义上的应用。

    4.为了将扩展分发给使用者,需要提交一个包含扩展的应用到App Store。用户只要下载并安装了你的应用,那么同时也自动安装了你的应用扩展。

    5.一个应用扩展必须要提供一个图标,以便用户选择和识别,通常情况下,应用扩展的图标与应用程序的图标是相同的。这点和WP中的启动器不太一样;

  • 相关阅读:
    【VUE】vue + element 插槽实现表格某一列点击事件
    【CDH】CDH集群hiveserver2服务频繁挂掉
    【】火焰图安装使用
    【VUE】vue + elementui实现表格一个单元格中加多行数据
    【Mybatis】useGeneratedKeys参数用法及遇到的问题
    【springboot】SpringBoot配置logback.xml 多环境
    Java 代码中数字中间带下划线是几个意思
    Java 9 中的字符串(String)压缩的改进
    【抖机灵】JS小妙用
    wrapper.or and 语句写法
  • 原文地址:https://www.cnblogs.com/dokaygang128/p/3912809.html
Copyright © 2020-2023  润新知