更新为快速4:self.extensionContext!.completeRequest(returningItems: nil, completionHandler: nil)self.extensionContext!.cancelRequest(withError:NSError())I am trying to create a custom view controller to be used with a share extension. Everything works, but I don't know how to dismiss the custom view controller. Basically I launch my share extension from safari and want to completely dismiss this and return back to the safari view. I know this should not be hard, but I am new to share extensions. Below is my base code. Thanks. Bob//// ShareViewController.swift// ShareExtensionimport UIKitimport Socialimport MobileCoreServicesclass ShareViewController: UIViewController { private var url: NSURL? @IBAction func backButton(_ sender: Any) { print("back button pressed") self.dismiss(animated: true, completion: nil) } override func viewDidLoad() { super.viewDidLoad() } private func getURL() { let extensionItem = extensionContext?.inputItems.first as! NSExtensionItem let itemProvider = extensionItem.attachments?.first as! NSItemProvider let propertyList = String(kUTTypePropertyList) if itemProvider.hasItemConformingToTypeIdentifier(propertyList) { itemProvider.loadItem(forTypeIdentifier: propertyList, options: nil, completionHandler: { (item, error) -> Void in guard let dictionary = item as? NSDictionary else { return } OperationQueue.main.addOperation { if let results = dictionary[NSExtensionJavaScriptPreprocessingResultsKey] as? NSDictionary, let urlString = results["URL"] as? String, let url = NSURL(string: urlString) { self.url = url } } }) } else { print("error") } }} 解决方案 You should end your sharing extensions work with one of these two calls:self.extensionContext!.completeRequestReturningItems(nil, completionHandler: nil)self.extensionContext!.cancelRequestWithError(NSError())Apples share extension docsupdated for swift 4:self.extensionContext!.completeRequest(returningItems: nil, completionHandler: nil)self.extensionContext!.cancelRequest(withError:NSError()) 这篇关于关闭共享扩展名自定义ViewController的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-21 05:49