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

简介:

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

一、理解扩展

1、简介

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

2、几种扩展模式

(1)今日视图扩展:today

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

110439_3xEr_2340880.png

(2)分享功能扩展

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

(3)个性操作

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

(4)照片操作

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

(5)文件分享

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

(6)自定义键盘

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


二、ToDay扩展的创建

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

新建一个工程:

112000_OjFF_2340880.png

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

112158_NBCa_2340880.png

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

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

112405_XDFb_2340880.png

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

我们创建一个按钮:

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

之后我们运行这个扩展:

112628_X6SW_2340880.png

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

112737_MJvy_2340880.png

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

112842_TP6R_2340880.png

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


目录
相关文章
|
2天前
|
安全 IDE Android开发
探索Android与iOS开发的差异:平台特性与编程实践
【6月更文挑战第17天】在移动应用开发的广阔天地中,Android和iOS两大平台各自占据半壁江山。它们在用户群体、系统架构以及开发环境上的差异,为开发者带来了不同的挑战和机遇。本文深入探讨了这两个平台在技术实现、界面设计、性能优化等方面的主要区别,并提供了实用的开发建议,旨在帮助开发者更好地理解各自平台的特性,从而创造出更加优秀的移动应用。
|
5天前
|
安全 Android开发 iOS开发
探索Android与iOS开发的差异:平台特性与用户体验的对比分析
在移动应用开发的广阔天地中,Android和iOS两大阵营各据一方。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计及市场分布等方面的主要区别。通过比较分析,我们将揭示各自平台的特有优势,并讨论如何根据目标受众和业务需求选择适合的开发平台。
|
20天前
|
安全 数据安全/隐私保护 iOS开发
探索iOS 14中的隐私保护新特性
【5月更文挑战第31天】随着数字时代的发展,用户隐私保护日益成为公众关注的焦点。苹果公司在最新的iOS 14更新中引入了多项隐私保护功能,旨在为用户提供更加透明和可控的个人信息管理体验。本文将深入探讨这些新特性,分析它们如何增强用户的隐私安全,并讨论这些变化对开发者和用户的潜在影响。
|
28天前
|
前端开发 JavaScript 程序员
HBuilderX使用mac打包ios应用提示苹果根证书没有安装
HBuilderX使用mac打包ios应用提示苹果根证书没有安装
17 0
|
1月前
|
安全 Swift iOS开发
【Swift 开发专栏】Swift 与 UIKit:构建 iOS 应用界面
【4月更文挑战第30天】本文探讨了Swift和UIKit在构建iOS应用界面的关键技术和实践方法。Swift的简洁语法、类型安全和高效编程模型,加上与UIKit的紧密集成,使开发者能便捷地创建用户界面。UIKit提供视图、控制器、布局、动画和事件处理等功能,支持灵活的界面设计。实践中,遵循设计原则,合理组织视图层次,运用布局和动画,以及实现响应式设计,能提升界面质量和用户体验。文章通过登录、列表和详情界面的实际案例展示了Swift与UIKit的结合应用。
|
30天前
|
定位技术 开发工具 iOS开发
ios9定位服务的app进入后台三分钟收不到经纬度,应用被挂起问题及解决方案
ios9定位服务的app进入后台三分钟收不到经纬度,应用被挂起问题及解决方案
21 0
|
1月前
|
存储 Swift iOS开发
使用Swift开发一个简单的iOS应用的详细步骤。
使用Swift开发iOS应用的步骤包括:创建Xcode项目,设计界面(Storyboard或代码),定义数据模型,实现业务逻辑,连接界面和逻辑,处理数据存储(如Core Data),添加网络请求(必要时),调试与测试,根据测试结果优化改进,最后提交至App Store或其它平台发布。
59 0
|
1月前
|
存储 安全 Swift
【Swift 开发专栏】使用 Swift 开发一个简单的 iOS 应用
【4月更文挑战第30天】本文介绍了使用 Swift 开发简单 iOS 待办事项应用的步骤。首先,阐述了 iOS 开发的吸引力及 Swift 语言的优势。接着,详细说明了应用的需求和设计,包括添加、查看和删除待办事项的功能。开发步骤包括创建项目、界面搭建、数据存储、功能实现,并提供了相关代码示例。最后,强调了实际开发中需注意的细节和优化,旨在帮助初学者掌握 Swift 和 iOS 开发基础。
|
1月前
|
搜索推荐 API iOS开发
利用SwiftUI构建动态iOS天气应用
【4月更文挑战第23天】 在本文中,我们将探讨如何使用SwiftUI框架实现一个动态的iOS天气应用程序。将重点介绍如何通过集成第三方天气API、设计响应式用户界面以及应用数据绑定技术来增强用户体验。我们的目标是创建一个能够根据当前位置实时更新天气信息的应用,并确保其界面简洁、易用且美观。
25 0