Sen*_*ful 38 ios ios8 ios8-share-extension ios8-extension
我想实现应用程序扩展,但我无法决定是否应将其实现为共享扩展或操作扩展.
文档没有说明差异,只是这样:
是否存在技术差异(例如,Action扩展是否允许我执行Share扩展所不具备的功能),还是仅仅是Apple希望您遵循的约定,以减少对用户的混淆?
似乎至少有一个区别是,如果您想要非UI操作,则必须选择Action而不是Share扩展.
还有什么区别?
我正在寻找的事情的例子:
Sen*_*ful 77
以下是我的调查结果:
共享扩展程序会显示一个彩色图标,该图标与应用程序的主图标相同.事实上,Apple表示:"如果您在共享扩展目标中提供单独的图标,Xcode会忽略它." [B]
动作扩展使用应用程序图标的"单色版本的应用程序图标",[E]或"模板图像版本" [B].
共享扩展名显示在中间行,操作扩展名显示在底行.
根据所定位的应用,您的图标可能会与或多或少的图标竞争,作为共享与动作扩展.例如,如果用户主要通过Safari访问您的扩展程序,则默认情况下,您的应用程序将与其他4个图标竞争共享扩展程序*,或将8个其他图标作为操作扩展程序进行竞争.另一方面,如果您要定位地图应用,则会将更多图标作为共享扩展(4)而不是动作扩展(2)进行竞争.
因此,为了最大限度地提高您对用户的曝光率,您可能希望在定位Safari时选择共享扩展程序,但在定位Google地图时则需要操作扩展程序.
注意:大多数活动都是由主机应用程序本身使用UIActivity和UIActivityViewController API提供的.有一个关于他们的伟大的写了上NSHipster.
*显然,共享和活动扩展的数量会根据已安装的应用程序以及用户选择显示/隐藏的内容而发生变化.
(斜体表示图标可以隐藏.)
默认的Share扩展模板附带了SLComposeServiceViewController的子类,以保持一致.Apple希望您"尽可能在共享扩展中使用系统提供的UI".[E]
另一方面,操作扩展允许您选择操作类型(呈现用户界面或无用户界面),前者带有空白的UIViewController.
虽然Apple声明共享扩展应该"发布到共享网站或与他人共享内容",[A]即使他们违反了提醒的这一要求.
动作扩展旨在"操纵或查看源自主机应用程序的内容".[一个]
| 归档时间: |
|
| 查看次数: |
10300 次 |
| 最近记录: |