Swift UIActivityViewController - 分享到 Instagram 时崩溃“您只能在 Instagram 应用程序上分享多张照片和视频”

Len*_*a V 5 sharing uikit ios swift

[![iPhone 上 Instagram 分享错误的屏幕截图][1]][1]我有一个 UIActivityViewController。它可以很好地为 Mail 和 Twitter 创建帖子,并按预期包含图像,但是当选择 Instagram 图标时,我收到警报“无法共享到 Instagram。您只能在 Instagram 应用程序中共享多个照片和视频”,然后它单击“确定”后挂起(Xcode 中没有错误)。

我对错误消息有点困惑?我正在我的 iPhone 上进行测试。


let activityItem1 = ShareableText(title: name)
       
var activities:[Any] = [ activityItem1 ]
        
if let aScreenShot = myScreenshot() {
           
let activityItem2 = ShareableImage(image: aScreenShot)
activities.append(activityItem2)
}
        
let shareVC = UIActivityViewController(activityItems: activities, applicationActivities: nil)
shareVC.excludedActivityTypes = [ .assignToContact, .airDrop, .addToReadingList ]

self.present(shareVC, animated: true)


class ShareableImage:NSObject, UIActivityItemSource {

    let image:UIImage
    
    init(image:UIImage) {
        self.image = image
    }
    
    func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {
        return image
    }
    
    func activityViewController(_ activityViewController: UIActivityViewController, thumbnailImageForActivityType activityType: UIActivity.ActivityType?, suggestedSize size: CGSize) -> UIImage? {
        let image = UIImage(named: "Icon_CompletedShare")
        return image
    }
    
    func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivity.ActivityType?) -> Any? {
        return image
    }
    
    
}


class ShareableText:NSObject, UIActivityItemSource {
    
    let title:String
    
    init(title:String) {
        self.title = title
    }
    
    func activityViewControllerPlaceholderItem(_ activityViewController: UIActivityViewController) -> Any {
        return title
    }
    
    func activityViewController(_ activityViewController: UIActivityViewController, subjectForActivityType activityType: UIActivity.ActivityType?) -> String {
        return title
    }
    
    func activityViewController(_ activityViewController: UIActivityViewController, thumbnailImageForActivityType activityType: UIActivity.ActivityType?, suggestedSize size: CGSize) -> UIImage? {
        let image = UIImage(named: "Icon_CompletedShare")
        return image
    }
    
    func activityViewController(_ activityViewController: UIActivityViewController, itemForActivityType activityType: UIActivity.ActivityType?) -> Any? {
        return title
    }
    
    
}```


  [1]: https://i.stack.imgur.com/mfgj0.jpg
Run Code Online (Sandbox Code Playgroud)