简体   繁体   English

迅捷:实现shortcutItem(3D touch)共享项目错误“ AppDelegate类型的值不存在任何成员”

[英]Swift: Implementing shortcutItem(3D touch) share item error “Value of type AppDelegate has no member of present”

I'm trying to implement share shortcutItem (my implementation): 我正在尝试实现共享shortcutItem(我的实现):

func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void) {
    if shortcutItem.type == "share"{
        self.shareItem()
    } 
}
func shareItem() {

    let visitedlink = "http://google.com"
    let myWebsite = NSURL(string: visitedlink)
    let img: UIImage = UIImage(named:"Logo")!
    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, UIActivityType.message, UIActivityType.mail]

    self.present(activityViewController, animated: true, completion: nil)
}

But on this line: 但是在这条线上:

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

I'm getting this error: 我收到此错误:

Value of type AppDelegate has no member of present

在此处输入图片说明

Any of you knows why I'm getting this error? 你们谁都知道为什么我会收到此错误? or work around this? 或解决这个问题?

I'll really appreciate your help. 非常感谢您的帮助。

Try this, 尝试这个,

public extension UIViewController {
    func shareItem() {
        let visitedlink = "http://google.com"
        let myWebsite = NSURL(string: visitedlink)
        let img: UIImage = UIImage(named:"Logo")!
        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, UIActivityType.message, UIActivityType.mail]

        self.present(activityViewController, animated: true, completion: nil)
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM