iOS扩展开发攻略

来源:互联网 发布:360连接助理软件 编辑:程序博客网 时间:2024/05/16 05:22
  1. 什么是扩展?
    扩展( Extension )是 iOS 8 中引入的一个非常重要的新特性。扩展让 app 之间的数据交互成为可能。用户可以在 app 中使用其他应用提供的功能,而无需离开当前的应用。在 iOS 8 系统之前,每一个 app 在物理上都是彼此独立的, app 之间不能互访彼此的私有数据。而在引入扩展之后,其他 app 可以与扩展进行数据交换。基于安全和性能的考虑,每一个扩展运行在一个单独的进程中,它拥有自己的 bundle , bundle 后缀名是.appex 。扩展 bundle 必须包含在一个普通应用的 bundle 的内部。

iOS 8 系统有 6 个支持扩展的系统区域,分别是 Today 、 Share 、 Action 、 Photo Editing 、 Storage Provider 、 Custom keyboard 。支持扩展的系统区域也被称为扩展点。

Today Widget

对于赛事比分,股票、天气、快递这类需要实时获取的信息,可以在通知中心的Today 视图中创建一个 Today 扩展实现。 Today 扩展又称为 Widget 。

Today扩展效果图
这里写图片描述
Share

在 iOS 8 之前,用户只有 Facebook,Twitter 等有限的几个分享选项可以选择。如果希望将内容分享到 Pinterest ,开发者则需要一些额外的努力。在 iOS 8 中,开发者可以创建自定义的分享选项。

Share扩展效果图
这里写图片描述
Action

action 在所有支持的扩展点中扩展性最强的一个。它可以实现转换另一个 app 上下文中的内容。苹果在 WWDC 大会上演示了一个 Bing 翻译动作扩展,它可以将在 Safari 中选中的文本翻译成不同的语言。

Action扩展效果图
这里写图片描述
Photo Editing

在 iOS 8 之前,如果你想为你的照片添加一个特殊的滤镜,你需要进入第三方 app 中,这个过程是相当繁琐的。在 iOS 8 中,你可以直接在 Photos 中使用第三方 app ,如 Instagram , VSCO cam 、 Aviary 提供的 Photo Editing 扩展完成对图片的编辑,而无需离开当前的 app 。

Photo Editing扩展效果图
这里写图片描述
Storage Provider

Storage Provider 让跨多个文件存储服务之间的管理变得更简单。类似 Dropbox 、 Google Drive 等存储提供商通过在 iOS 8 中提供一个 Storage Provider 扩展, app 直接可以使用这些扩展检索和存储文件而不再需要创建不必要的拷贝。

Storage Provider扩展效果图
这里写图片描述
Custom Keyboard

苹果公司在 2007 年率先推出了触摸屏键盘,但一直没多大改进。在这一方面, Android 则将键盘权限开放给了第三方开发者,所以出现了许多像 Swype , SwiftKey 等优秀的键盘输入法。在 iOS 8 中,苹果终于将键盘权限开发给了第三方开发者,自定义键盘输入法可以让用户在整个系统范围内使用。

Custom Keyboard扩展效果图
以下是iOS 9中新增扩展

网络扩展

开发者可以通过改扩展来实现自定义的VPN客户端、透明的网络代理客户端以及实现动态的设备端网络内容过滤。

Safari扩展

该扩展可以让用户通过Safari的分享链接看到你的内容。又或者提供一个屏蔽列表,让你的用户使用你的App浏览Web内容时屏蔽指定的内容。

Spotlight扩展

该扩展可以对App内的数据进行索引,并且可以在不重启App的情况下重建数据索引。

Audio Unit扩展

该扩展允许App提供类似于GarageBand,Logic等App提供的乐器演奏,音频特效,声音合成功能。

具体创建过程详见: http://www.jianshu.com/p/863ce6729455

0 0
原创粉丝点击