gpt4 book ai didi

iOS Share vs Action App Extension

转载 作者:IT王子 更新时间:2023-10-29 07:41:23 26 4
gpt4 key购买 nike

我想实现一个应用扩展,但我无法决定是否应该将它实现为共享扩展或操作扩展。

The documentation没有说太多的差异,只是这个:

  • 分享(iOS 和 OS X) :发布到共享网站或与他人共享内容
  • 操作(iOS 和 OS X;UI 和非 UI 变体) :操纵或查看源自主机应用程序的内容

  • 是否也存在技术差异(例如,Action 扩展是否允许我做 Share 扩展不允许我做的事情),或者它只是 Apple 希望您遵循的惯例,以减少对用户的混淆?

    似乎至少有一个区别是,如果您想要非 UI 操作,则必须选择操作而不是共享扩展。

    其他区别是什么?

    我正在寻找的东西的例子:
  • 他们都允许我自定义 UI 吗?
  • 两者都给了我一些要使用的默认用户界面吗?
  • 他们是否都拥有相同的权限,或者我是否可以在一个与另一个中做更多的事情?
  • 他们是否都从 Host 应用程序接收到相同的输入?
  • 他们都可以将相同的数据发送回主机应用程序吗?
  • 最佳答案

    以下是我目前的发现:
    概括:

  • 图标 :共享扩展具有彩色图标。
  • 图标位置 :某些应用程序(例如 Safari)具有大量不可隐藏的事件图标,您的图标会与之竞争。
  • 用户界面 :共享扩展应具有一致的用户界面。
  • 意向 :共享扩展是为了共享内容而保留的,但即使是 Apple 也违反了这一要求。

  • 图标
    共享扩展有一个彩色图标,与您应用的主图标相同。事实上,Apple 声明:“如果你在你的 Share 扩展目标中提供一个单独的图标,Xcode 会忽略它。” [B]
    操作扩展使用“应用程序图标的单色版本”, [E]或“模板图像版本” [B]的应用程序图标。
    enter image description here

    图标位置
    共享扩展出现在中间一行,操作扩展出现在底部一行。
    根据所针对的应用程序,您的图标可能会与或多或少的图标竞争作为共享与操作扩展。例如,如果用户主要通过 Safari 访问您的扩展程序,则您的应用程序将默认与其他 4 个图标作为共享扩展程序*竞争,或与其他 8 个图标作为操作扩展程序竞争。另一方面,如果您的目标是 map 应用程序,您将与更多图标作为共享扩展 (4) 而不是操作扩展 (2) 进行竞争。
    因此,为了最大限度地向用户展示您的产品,您应该在定位 Safari 时选择共享扩展程序,但在定位 map 时选择操作扩展程序。
    注意:大多数事件由主机应用程序本身使用 UIActivity 提供。和 UIActivityViewController蜜蜂。有一个 great write-up about them on NSHipster .
    *显然,共享和事件扩展的数量取决于安装的应用程序以及用户选择显示/隐藏的应用程序。
    来自 iOS 9.1 模拟器的示例:
  • 联系人:
  • 分享(1):邮箱
  • 事件 (0):

  • map :
  • 分享(4):邮件、提醒、推特、 Facebook
  • 事件(二):收藏、打印

  • 消息:
  • 分享(4):邮件、提醒、推特、 Facebook
  • 事件 (5):添加到阅读列表、复制、在 Safari 中打开、报告问题、静音 channel

  • 相片:
  • 分享(4):邮件、推特、 Facebook 、Flickr
  • 事件 (6):复制、幻灯片放映、隐藏、分配给联系人、用作墙纸、打印

  • 苹果浏览器:
  • 分享(4):邮件、提醒、推特、 Facebook
  • 事件(10):添加到收藏夹、添加书签、添加到阅读列表、添加到主屏幕、添加到共享链接、添加到新闻、复制、打印、在页面上查找、请求桌面站点

  • (突出显示的文字):
  • 分享(3):邮件、推特、 Facebook
  • 事件(一):复制


  • (斜体表示可以隐藏图标。)

    用户界面
    默认 分享分机 模板带有 SLComposeServiceViewController 的子类保持一致。并且 Apple 希望您“[尽可能] 在 Share 扩展中使用系统提供的 UI”。 [E]
    操作扩展 ,另一方面,允许您选择 操作类型 (呈现用户界面或无用户界面),前者带有一个空白的 UIViewController。

    enter image description here enter image description here
    Default share extension; Default Presents User Interface Action extension.



    意图
    尽管 Apple 声明 分享分机 应该“发布到共享网站或与他人共享内容”, [A]甚至他们通过提醒违反了这一要求。
    操作扩展 旨在“操纵或查看源自主机应用程序的内容”。 [A]

    一样的东西
  • 两者都允许您的应用提供多个版本的扩展。 (例如,您的应用可以提供两个共享扩展和两个操作扩展。)
  • 在我有限的测试中,它们似乎都是默认禁用的,用户必须明确点击更多按钮才能启用共享/操作扩展。

  • 引用
  • 答:App Extensions Increase Your Impact in the App Extension Programming Guide
  • 乙:Creating an App Extension in the App Extension Programming Guide
  • 电话:Share in the App Extension Programming Guide
  • 电话:Action in the App Extension Programming Guide
  • 电子邮箱:App Extensions in the iOS Human Interface Guidelines
  • 关于iOS Share vs Action App Extension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33642701/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com