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

应用程序扩展不是一个应用,它是主体应用程序(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中的启动器不太一样;

Ios8新特性-应用程序扩展的更多相关文章

  1. iOS8新特性(1)——UIAlertController

    一.iOS8介绍 iOS8 新特性,主要是UI上进行了统一 1.UIAlertController 2.UIPresentaionController:管理所有通过modal出来的控制器(看笔记) 3 ...

  2. iOS8 新特性

    iOS8新特性主要体现在4方面 1.UIAlertController 对alert&actionSheet的封装 UIAlertController.h 提示框按钮的选择 typedef N ...

  3. ios8新特性widget开发-b

    os8发布已经有一段时间了,伴随着ios8同时也出现了许多新的特性,ios系统将会越来越开放,这是好事.其中一个新特性就是在下拉通知栏里加入了个性的widget,开发者可以自己定义widget的样式内 ...

  4. iOS8新特性

    1. App Extension Programming Guide 2.LocalAuthentication.framework - Touch ID Authentication 3.Local ...

  5. iOS8新特性(1)-UIPopoverPresentationController使用

    从iOS 8开始,苹果提出新的 UIPopoverPresentationController代替UIPopoverController: 新的UIPopoverPresentationControl ...

  6. 利用iOS8新特性计算cell的实际高度

    在计算cell的实际高度是 我们一般是通过计算frame  拿到最底部一个控件的最大Y值从而的到cell 的高度  算来算去  比较麻烦 其实,iOS8已经提供了直接通过Cell高度自适应的方法了,根 ...

  7. iOS iOS8新特性--UIPopoverPresentationController

    1.回顾UIPopoverController的使用,下面这份代码只能在ipad下运行 // 初始化控制器,SecondViewController类继承自UIViewController Secon ...

  8. iOS8新特性之基于地理位置的消息通知UILocalNotification

              苹果在WWDC2014上正式公布了全新的iOS8操作系统. 界面上iOS8与iOS7相比变化不大,只是在功能方面进行了完好.                             ...

  9. iOS8新特性之交互式通知

    目前分为四个推送:用户推送,本地推送,远程推送,地理位置推送. if (IS_IOS8) { //1.创建消息上面要添加的动作(按钮的形式显示出来) UIMutableUserNotification ...

随机推荐

  1. CI框架程序--本地调试之后部署新浪SAE

    前几天给朋友写了个简单的网站, 想想还是部署到服务器上让朋友看一下效果! 用CI框架写的,有个SAE新浪云的账号,可以用!就部署到上面去了!途中遇到了一些问题!一一解决了! 在这里分享一下 供遇到这些 ...

  2. PHP实现前台同步显示后台任务进度

    一次批量发送几千条短信. 如果直接在后台循环执行虽然可行,但是前台操作用户就只能坐着空等,完全看不到后台执行结果,所以考虑能不能有一种办法可以在php后台执行过程中同时在前台显示后台执行任务进度呢. ...

  3. [TimusACM][1258]程序员撞墙的问题

    (本文是从我的旧博客迁移过来的) 问题地址:http://acm.timus.ru/problem.aspx?space=1&num=1258 前几日在博客园看到这种在线测试的时候,有一种相见 ...

  4. 初识 Jenkins

    Jenkins: Jenkins 是一款获奖的跨平台持续集成和持续交付软件,可以大大提高生产力.Jenkins 用以构建和测试软件项目,帮助开发者更容易的实现项目变更的持续集成,帮助用户更容易的获取最 ...

  5. 解决IE8打开默认弹出开发者工具的问题

    有一次开发用ie调试后再次打开总是自动弹出ie开发者工具,而且在网页的上一层弹出.点击X关闭后再次打开还是会弹出! 找ie的设置也没有找到关闭的选项. 在网上搜了很多资料才找到解决的办法,在这里分享一 ...

  6. 去掉影响效率的where 1=1

    最近看了篇文章,觉得挺有道理.实际项目中,我们进行sql条件过滤,我们不能确定是不是有条件.也不能确定条件的个数.大多数人会先把sql语句组装为: 这样,如果有其他过滤条件直接加上“and 其他条件” ...

  7. CSS1-CSS3 <color>颜色知识知多少?

    非本人原创,原文转载自http://www.zhangxinxu.com/wordpress/2015/07/know-css1-css3-color/ by zhangxinxu from http ...

  8. MySql安装时在Start Service处失败

    安装MySql时在最后Start Service时失败: 首先先卸载掉MySql. 查看MySql服务有没有启动,若启动,则先停止MySql服务.   打开注册表,到HKEY_LOCAL_MACHIN ...

  9. C# 汉字转拼音(转)

    (一)将汉字转化成全拼代码: private void button1_Click(object sender, EventArgs e) { this.textBox2.Text = Hz2Py.C ...

  10. oracle 文件导出

    $ cat me.sqlset echo offset term offset line 1000 pages 0set feedback offset heading offset trimspoo ...