swift -> The system has its own sharing function UIActivityViewController

 

 

        let myWebsite = NSURL(string:"http://baidu.com/")
        let img: UIImage = #imageLiteral(resourceName: "test1")
        
        guard let url = myWebsite else {
            print("nothing found")
            return
        }
        
        let shareItems:Array = [img, url]
        let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
        activityViewController.excludedActivityTypes = [UIActivityType.print, UIActivityType.postToWeibo, UIActivityType.copyToPasteboard, UIActivityType.addToReadingList, UIActivityType.postToVimeo]
        self.present(activityViewController, animated: true, completion: nil)

 

带 logo, title, url

            let title = "#"+(getLang(key:"appName"))+"#" + crtWeb_title;
            guard let url = myWebsite else {
                return
            }
            let logo_share_:UIImage = #imageLiteral(resourceName: "logo_share")
            let shareItems:Array = [title, logo_share_, url] as [Any]

 

 

** Solve the problem of slow card ejection for the first time

1, remove the display of airDrop

activityViewController.excludedActivityTypes = [UIActivityType.postToWeibo,  UIActivityType.addToReadingList, UIActivityType.postToVimeo,UIActivityType.addToReadingList,UIActivityType.saveToCameraRoll,UIActivityType.assignToContact,UIActivityType.airDrop]

 

 

2, open way

OperationQueue.main.addOperation({
             self.present(activityViewController, animated: true, completion: nil)
})

 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326141437&siteId=291194637