扩展Extension是iOS8中引入的非常重要的新特性。扩展让App之间的数据交互成为可能。用户可以在App中使用其他应用提供的功能,而无需离开当前的应用。
在iOS8之前,每一个App在物理上都是彼此独立的,App之间不能互访彼此的私有数据。而在扩展引入之后,其他App可以与扩展进行数据交换。基于安全和性能的考虑,每一个扩展运行在一个单独的进程中,他拥有自己的bundle,bundle后缀名是.appex. 扩展bundle必须包含在一个普通应用的bundle内部。
iOS8系统有6个支持扩展的系统区域,分别是Today,Share,Action,Photo Editing,Storage Provider,Custom keyboard。支持扩展的系统区域也被称为扩展点。
注意:Finder扩展点只支持OS X,Today、Share、Action这3个扩展点同时支持iOS 和OS X。而Photo Editing、Storage Provider、Custom keyboard这3个扩展点只支持iOS。 所以说iOS支持6个扩展点。
1.Today/Widget
对于赛事比分,股票,天气,快递这类需要实时获取的信息,可以在下拉的通知中心的“Today视图”中创建一个Widget实现。Today扩展又称为Widget。
2.Share
在iOS8之前,用户只有Facebook,Twitter,Flickr,Vimeo、新浪微博、腾讯微博有限的6个分享选项可以选择。如果希望将内容分享到其他平台,则需要使用其他的第三方平台,如友盟、ShareSDK等,在iOS8中,开发者可以创建自定义的分享选项。
3.Action