文档章节

iOS8新特性扩展(Extension)应用之一——Today扩展

珲少
 珲少
发布于 2015/07/30 11:30
字数 793
阅读 2749
收藏 14

iOS8新特性扩展(Extension)应用之一——Today扩展

一、理解扩展

1、简介

        基于iOS系统的安全性考虑,其应用的数据存储是通过沙盒模式进行的,要实现应用之间的数据共享十分困难,功能共享就更加棘手。在iOS8系统中,apple为我们提供了一个革命性的功能:扩展。我们可以通过扩展来使app间数据甚至功能进行共享。

2、几种扩展模式

(1)今日视图扩展:today

        这个扩展也被叫做 widget。该扩展可以将今日发生的简短消息放到消息中心的「今日」视图里。这个功能类似于安卓系统中的小控件,只是安卓的可以直接放在桌面上,更加自由。示例如下:

(2)分享功能扩展

        该扩展允许应用向在线服务上传照片、链接或者其他文件。在以前版本中,我们若要实现分享功能,必须进行复杂的操作。

(3)个性操作

        通过这个功能,可以实现两个APP中共享一些内容,例如编辑文字中的图片,翻译网页中的文字。

(4)照片操作

        这个类型的扩展可以允许我们在ipone相机中拍摄的照片使用其他图片编辑软件进行编辑。

 

(5)文件分享

        该扩展可以让软件将文件保存在各种云存储服务商。

(6)自定义键盘

        允许用户使用第三方的键盘输入法。

 

二、ToDay扩展的创建

        扩展是一个独立的构成,和其有关的两个概念是宿主APP和主机APP,宿主APP是扩展存放的地方,与扩展可以实现资源共享,主机APP是扩展运行的程序,例如ToDay扩展有抽屉中的Today应用进行运行。要创建一个ToDay扩展,首先我们需要创建一个宿主APP:

新建一个工程:

选择xcode工具栏中的File->new->target

在Application Extension中有上面提到的6中扩展,我们选择Today。

这是我们的项目中会多了一个扩展的文件夹:

这个文件夹中有一个ViewController,我们可以在里面进行布局,还有一个plist文件,可是配置扩展的一些属性。

我们创建一个按钮:

 UIButton * btn = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 100, 30)];
    [btn setTitle:@"231" forState:UIControlStateNormal];
    [self.view addSubview:btn];

之后我们运行这个扩展:

xcode会让我们选择运行扩展的主机程序,因为这是一个today类型的扩展,我们选择Today:

运行后,在系统的通知抽屉中,就会出现我们的这个扩展:

同样,我们可以创建tableView,imageView以及其他复杂的视图效果,我们也可以编写很多逻辑功能,跳转APP等。

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

© 著作权归作者所有

珲少

珲少

粉丝 891
博文 395
码字总数 478712
作品 0
上海
程序员
私信 提问
加载中

评论(2)

珲少
珲少 博主

引用来自“jsdhuandao10”的评论

0
jsdhuandao10
jsdhuandao10
0
iOS8新特性扩展(Extension)应用之二——分享插件

iOS8新特性扩展(Extension)应用之二——分享插件 在上一篇博客中,介绍了iOS8新特性扩展功能之一的Today功能:http://my.oschina.net/u/2340880/blog/485533,这里我们再介绍一下分享的扩展功...

珲少
2015/07/30
1K
3
iOS8新特性扩展(Extension)应用之三——照片编辑插件

iOS8新特性扩展(Extension)应用之三——照片编辑插件 通过前几篇博客的介绍,我们了解到扩展给app提供的更加强大的交互能力,这种强大的交互能力另一方面体现在照片编辑插件的应用。 和通常一...

珲少
2015/07/30
655
0
iOS8新特性扩展(Extension)应用之四——自定义键盘控件

iOS8新特性扩展(Extension)应用之四——自定义键盘控件 iOS8系统的开放第三方键盘,使得用户在输入法的选择上更加自主灵活,也更加贴近不同语言的输入风格。这篇博客,将介绍如何开发一个第三...

珲少
2015/07/31
3.6K
9
iOS中Today扩展插件与宿主APP的交互

iOS中Today扩展插件与宿主APP的交互 扩展是iOS8后系统开发给开发者的新开发思路与接口,每一个扩展都可以理解为一个简单的小应用程序,只是其不是独立存在的,要寄附于某一个主应用上。介绍i...

珲少
2016/07/14
1K
3
App Extensions篇之Share Extension

转载请注明出处:http://www.cnblogs.com/zhanggui/p/7119572.html 1.前言 这里主要是对App Extension的一些介绍以及详细给大家介绍一下Share Extension,后期会添加其他的Extension介绍。 ...

zhanggui
2017/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

交换两数(函数)

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> void Exchange(int* x, int* y){ int tmp = 0; tmp = *x; *x = *y; *y = tmp; } int main(){ int a; int b; scanf......

Lxxxxx256
今天
4
0
给 K8s API “做减法”:阿里巴巴云原生应用管理的挑战和实践

作者 | 孙健波(天元) 阿里巴巴技术专家 本文整理自 11 月 21 日社群分享,每月 2 场高质量分享,点击加入社群。 早在 2011 年,阿里巴巴内部便开始了应用容器化,当时最开始是基于 LXC 技术...

阿里巴巴云原生
今天
7
0
数据平面

3.1数据平面的任务 解析数据包头 转发数据包到某些端口 通过查询由控制平面所生成的转发表 传统网络数据平面 数据包--输入端口---拆封和解析,转发策略匹配,转发调度---输出端口(协议相关,...

Firefly-
昨天
6
0
如何高效的阅读uni-app框架?(建议收藏)

作者 | Jeskson 来源 | 达达前端小酒馆 uni-app的框架,配置:page.json,manifest.json,package.json,vue.config.js。脚本,应用程序,main.js。日志打印,定时器,生命周期,页面,页面通...

达达前端小酒馆
昨天
8
0
实现原理专题--存储器的实现(三)

计算机实现原理专题--存储器的实现(二)中描述了一种电平触发器,但是某些应用需要在保持位从0到1变化的过程中对数据端进行保存。这种触发器叫边沿触发器。 一开始Q为0,时钟信号为0。当数据...

FAT_mt
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部