提供分享功能,也可能提供其他的“服务”,比如动作。以前,这些动作都是由系统提供的,比如剪切粘贴、打印等等。但就像iOS8中的自定义共享选项一样,自定义操作选项已作为全新扩展功能的一部分添加,允许安装第三方键盘、小部件和更多自定义操作扩展按钮。那么这些扩展操作是如何工作的呢?它会给我们带来什么?丰富的动作▲iOS动作选项的演变。从左到右:iOS5及更早版本、iOS6、iOS8Actions最初作为单调列表按钮的一部分出现在iOS上,仅提供很小的视觉区别,同时它的可扩展性也不是很好。当共享选项在iOS6中变成按钮网格时,添加了操作选项。从现在开始,共享选项可以显示相应应用程序的彩色图标,而操作选项将统一为灰色按钮——保存到相机胶卷、通过AirPrint打印、复制到剪贴板等。但即便如此,共享和操作选项仍然放在一起,因此网格状显示仅比列表好一点。从iOS7开始,对共享选项的外观进行了翻新,以配合iOS的新外观。同时,动作选项也从灰度按钮换成了黑白两色,并有一排独立的可滚动列表。您可以添加任意多个。.但即便如此,可用的动作也寥寥无几。iOS8终于改变了这一切。动作扩展如何工作iOS8中的可扩展性意味着我们不再拘泥于Apple提供的默认动作选项,我们不再需要等待AirPlay或AirPrint支持,也不再需要关心Apple是否会提供第三方产品。系统级服务,任何应用程序现在都可以通过安装扩展来增强自身和iOS的实用性。所以苹果和微软没必要签订合作协议“把Bing翻译放到Safari中”。微软可以在自家的Bing应用中创建一个动作扩展,Bing翻译将像原生服务一样出现在Safari中。而且使用动作扩展也非常容易。如果你在Safari中阅读iMore,但你的母语是法语而不是英语,你可以点击分享按钮,在操作选项栏中水平滑动找到Bing翻译扩展,轻松点击即可将网页翻译成法语.此外,您可以根据自己的喜好重新排列动作扩展。滚动到操作选项的最右侧,然后单击“更多”按钮来回移动按钮以对它们进行排序。这意味着如果你经常使用1Password来帮助你输入密码,你可以将它移到前面。这样一来,每次点击分享菜单,它都会在最上面,再也不用滑动找了。与插件一样,动作扩展不仅可以添加更多应用程序,还可以为系统和现有应用程序添加更多功能。告别“离开Safari-打开1Password-使用内置浏览器打开或复制密码-返回Safari”的体验!相关阅读:1Password在iOS8上展示了TouchID身份验证登录和Safari扩展自定义Safari操作在iOS8中,有一些针对Safari的特定操作扩展。它们被称为自定义Safari操作,有两种类型:*具有自己界面的操作扩展*没有自己界面的操作扩展具有自己界面的操作扩展,例如1Password,例如,当您登录YouTube时,它??会询问您您要使用哪一个Google帐户(如果您有多个Google帐户)。没有自己界面的动作扩展,比如我们在WWDC大会上看到的BingTranslate,可以即时将网页翻译成其他语言。开发Action扩展Action扩展允许开发者通过系统内置的分享页面,将应用中的某个功能提供给其他应用或系统。虽然扩展主要以界面控制器的形式出现在iOS上,但操作扩展可以采用界面控制器的形式,或者像自定义Safari扩展一样,没有界面。标准操作扩展和自定义Safari扩展之间的唯一区别是Safari自定义扩展可以使用JavaScript。他们拥有完整的文档对象模型(DOM,文档对象模型)访问权限,这意味着他们可以从网页中获取图像,对其进行注释,并在原始文件的位置替换新图像。与共享扩展一样,操作扩展具有激活条件,告诉系统它们可以处理哪些数据。这样,如果选中了一段文字,则只会显示那些可以编辑文字的选项。如果选择了照片,将出现修改照片的选项。Apple为开发人员提供了许多资源以帮助他们开发操作扩展:WWDC2014CreatingExtensionsforiOSandOSX,PartIIApple(预发布)ExtensibilityDocumentationSecurityforActionExtensions动作扩展也不例外。在iOS中,应用程序运行在沙盒机制下,只允许访问其内部文件,只有在用户授予权限后,才能访问特定的文件或系统功能。这就是为什么应用程序需要“访问相机胶卷”,以及为什么您需要单击“打开...”,以便恶意应用程序无法访问您的系统或您的个人数据。iOS8的扩展性带来的变化是,苹果将一个应用程序的扩展保留在应用程序沙箱内,但允许iOS和其他应用程序通过iOS向这个应用程序请求功能或信息,然后被请求的应用程序响应请求应用程序或iOS提供用户界面、信息或其他功能。对于动作扩展,功能的源应用程序是主机,而您请求的功能是容器。例如,如果您使用的是Safari,则这是您的宿主应用程序。如果您使用1Password获取密码或使用Bing进行翻译,这些都是容器。这种机制不仅提供了安全性,还提供了稳定性。(在上面的示例中,在iOS8上使用1Password或Bing扩展程序不需要应用程序预启动或在后台运行。)Apple没有详细说明这些工作原理,但他们声称使用SinceiOS7、苹果在安全和加密方面下了不少功夫。相信iOS8新的扩展性会特别安全实用。摘要Action扩展为iOS8和iOS8应用程序提供了强大的新功能。需要注意的是,目前这是该功能的初始版本,和多任务处理一样,动作扩展无疑也会升级。例如,1Password现在只能在Safari中输入密码,而在其他应用中则不能。相信随着iOS8的完善,这些限制都会得到解决。可以说,动作扩展的出现意味着用户可以花更少的时间和精力在应用之间切换,这是一个相当大的进步。
