Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 与UIActivityViewController共享内容_Swift_Uiactivityviewcontroller - Fatal编程技术网

Swift 与UIActivityViewController共享内容

Swift 与UIActivityViewController共享内容,swift,uiactivityviewcontroller,Swift,Uiactivityviewcontroller,在我的应用程序中存在用户生成的内容,如房屋出租清单。我希望其他用户共享imessages的帖子/列表。当收件人点击邮件时,如果应用程序被下载,它可以在应用程序中打开完全相同的帖子,或者将他们带到应用程序商店。我以前见过这个功能,但我不确定该朝哪个方向发展。使用当前代码,我可以显示活动控制器并发送imessage。 谁能给我指出正确的方向吗 @objc func sharePost(){ print("Share home") let ite

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

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

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

自定义URL方案 使用自定义URL方案(与您给出的示例最接近),URL会告诉系统打开与该URL类型关联的应用程序。您可以分析scheme之后的部分(在我的示例中,即
contentID
),以查看要向用户显示的内容。请参阅苹果的文档:

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


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

如何在应用程序中实现对内容的导航是一项体系结构决策,取决于导航设置方式等诸多因素