UIActivityView 按钮错误

Posted

技术标签:

【中文标题】UIActivityView 按钮错误【英文标题】:UIActivityView Button Error 【发布时间】:2016-11-04 09:03:00 【问题描述】:

我正在尝试使用 UIActivityView 为我的应用创建一个共享按钮。当我按下应用程序中的按钮时,出现错误。代码有什么问题?

@IBAction func shareButton(_ sender: UIButton) 

        let texttoshare = "Sharing"
        let URLtoshare = NSURL(string: "www.google.com")
        let objectsToShare:NSArray = [texttoshare, URLtoshare!]
        let activityVC = UIActivityViewController(activityItems: objectsToShare as! [Any], applicationActivities: nil)

        self.present(activityVC, animated: true, completion: nil)

            
    

错误:是线程 1:信号 SIGABRT

【问题讨论】:

请将错误添加到您的问题中。 尝试将NSURL(string: ...更改为URL(string: ...并删除:NSArray @LucianoRodríguez 仍然是同样的错误...... 【参考方案1】:

试试这个。至少,它对我有用,没有错误..

let texttoshare = "Sharing"
let URLtoshare = URL(string: "www.google.com")
let activityVC = UIActivityViewController(activityItems: [texttoshare, URLtoshare!], applicationActivities: nil)
self.present(activityVC, animated: true, completion: nil)

如果您想在 iPad 上使用 UIActivityViewController,您需要为 activityVC 指定 popoverPresentationController?.sourceView。例如:

let texttoshare = "Sharing"
let URLtoshare = URL(string: "www.google.com")
let activityVC = UIActivityViewController(activityItems: [texttoshare, URLtoshare!], applicationActivities: nil)
activityVC.popoverPresentationController?.sourceView = button...
self.present(activityVC, animated: true, completion: nil)

【讨论】:

你为“按钮...”添加了什么?我仍然遇到同样的错误。 任何你想要的...例如shareButton IBOutlet...或self.view,如果你愿意的话。测试几个视图,看看适合您的需求...

以上是关于UIActivityView 按钮错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 UIActivityView 进行 Google+ 共享 - iOS 7

AppDelegate 中的 UIActivityView 使用协议和委托

UIActivityView 将文件附加到电子邮件

在完成活动之前关闭 UIActivityView

UIActivityViewController。如何定制它?

使用 `UIActivityItemSource` 协议无法分享到 Instagram