【问题标题】:Does iOS Sharing sheet recognize all social apps on the device?iOS 共享表是否可以识别设备上的所有社交应用程序?
【发布时间】:2015-12-17 11:35:22
【问题描述】:

我们的团队正在构建一个 iOS 应用,用户可以通过其 iPhone 上的社交应用分享媒体内容。在测试其他应用程序的行为时,我观察到并非所有应用程序都显示所有可用的共享选项。

具体来说,我在共享选项中没有看到以下应用: Kik、微信、Reddit、Youtube、GroupMe、Band。

我的设备上有所有这些应用程序。所以希望所有这些应用程序都会显示以供共享。基础应用程序是否应该明确处理所有共享选项?

【问题讨论】:

标签: ios iphone uiactivityviewcontroller


【解决方案1】:

没有。 iOS 仅支持以下 ActivityType。当然,如果您愿意,您可以排除其中一些活动。

  1. UIActivityTypePostToFacebook
  2. UIActivityTypePostToTwitter
  3. UIActivityTypePostToWeibo
  4. UIActivityTypeMessage
  5. UIActivityTypeMail
  6. UIActivityTypePrint
  7. UIActivityTypeCopyToPasteboard
  8. UIActivityTypeAssignToContact
  9. UIActivityTypeSaveToCameraRoll
  10. UIActivityTypeAddToReadingList
  11. UIActivityTypePostToFlickr
  12. UIActivityTypePostToVimeo
  13. UIActivityTypePostToTencentWeibo
  14. UIActivityTypeAirDrop

【讨论】:

  • 但有些应用程序支持分享到 Instagram、Pinterest、FB Messenger、Line 等等。这些共享扩展是否由基础应用单独处理?我尝试在 UIActivityControlView 的 iOS 官方文档中搜索,但没有提及任何此类特殊处理。
  • 是的,您可以在其他应用程序上分享。上面提到的 ActivityTypes 是那些默认提供的活动。你可以在这里nshipster.com/uiactivityviewcontroller 探索 UIActivityViewController。如果您想在 IG 等其他应用上分享内容,请使用 UIDocumentInteractionController stackoverflow.com/questions/16954810/…
  • 因此,为了澄清,这些默认应用程序显示在共享选项中,无需任何特殊处理。但是,如果我们想要任何其他应用程序,则需要特别处理(例如您分享的问题中的 Instagram)。我对吗?我对 iOS 基础设施非常陌生。如果我听起来太天真,请道歉......
【解决方案2】:

让应用出现在分享表中:

  • 应用需要实现共享扩展(并非全部都这样做)
  • 共享扩展必须支持正在共享的数据类型(文本、网址、图像、视频...)。
  • 用户必须已选择该共享扩展程序(通过点击列表末尾的“更多”按钮)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 2019-11-22
    • 1970-01-01
    • 2019-04-05
    相关资源
    最近更新 更多