【问题标题】:Share content with UIActivityViewController与 UIActivityViewController 共享内容
【发布时间】:2021-06-04 07:18:31
【问题描述】:

在我的应用中存在用户生成的内容,例如房屋出租列表。我希望其他用户将帖子/列表分享给 imessages。当收件人点击消息时,如果应用程序已下载或将其带到应用程序商店,它可以在应用程序中打开完全相同的帖子。我以前见过这个功能,但我不确定该往哪个方向发展。使用我当前的代码,我可以展示活动控制器并发送一个图像。 谁能指出我正确的方向?

  @objc func sharePost(){
        print("Share home")
        let items = ["Check out this house!"]
        let activityController = UIActivityViewController(activityItems: items, applicationActivities: nil)
        present(activityController, animated: true)
        
    }

【问题讨论】:

    标签: swift uiactivityviewcontroller


    【解决方案1】:

    您将需要自定义 url 方案(即myapp://contentID)或通用链接(即https://myapp.com/contentID)。

    自定义 URL 方案

    使用自定义 URL 方案(与您提供的示例最接近),该 URL 告诉系统打开与该类型 URL 关联的应用程序。您可以解析方案之后的部分(即我的示例中的contentID)以查看要呈现给用户的内容。请参阅 Apple 的文档:https://developer.apple.com/documentation/xcode/allowing_apps_and_websites_to_link_to_your_content/defining_a_custom_url_scheme_for_your_app

    通用链接

    使用通用链接,您可以提供指向您网站的链接。如果用户下载了相关的应用程序,页面将在应用程序而不是网站中打开。这里的优势是即使用户没有应用程序,他们仍然可以看到内容。请参阅此处的文档:https://developer.apple.com/ios/universal-links/


    在任何一种情况下,您都会将一个 URL 传递给您的 UIActivityViewController。在通用链接的情况下,如果您实施 OpenGraph 标签,您还将免费获得链接旁边的那些漂亮的预览图像(例如在 iMessages 中)。

    如何在应用中实现对内容的导航是一项架构决策,并且取决于很多关于如何设置导航等的因素

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多