问题描述
-
共享大小为 20 mb 的视频文件时,共享扩展程序未打开,并且 更多在斯威夫特。如何修复它,或者如果这不可能,那么如何显示 通知用户您的文件大小超过大小限制
-
iOS Outlook 应用程序在共享大文件时向我们发送消息。我们可以这样做吗?
func manageImages() { self.view.isUserInteractionEnabled = false dispatchQueue.main.async { CommonFunctions().animate(view: self.view) }
let content = extensionContext!.inputItems[0] as! NSExtensionItem let contentType = kUTTypeData as String//let contentType = kUTTypeImage as String let contentTypeDic = kUTTypeDirectory as String print("loop to start") //let properyList = String(kUTTypePropertyList) self.foundwebpage = false self.foundDescription = false for (index,attachment) in ((content.attachments)?.enumerated())! { if attachment.hasItemConformingToTypeIdentifier(contentType) { print("1") if index > 0{ RunLoop.current.run(until: Date.init(timeIntervalSinceNow: 2.0)) } if attachment.hasItemConformingToTypeIdentifier(kUTTypeWindowsExecutable as String) || attachment.hasItemConformingToTypeIdentifier(kUTTypeExecutable as String) || attachment.hasItemConformingToTypeIdentifier(kUTTypeUnixExecutable as String) { isExecutableFound = true print("2") } if attachment.hasItemConformingToTypeIdentifier(contentTypeDic) { if attachment.hasItemConformingToTypeIdentifier(contentTypeDic) { attachment.loadItem(forTypeIdentifier: contentTypeDic,options: nil,completionHandler: { (item,error) -> Void in let dictionary = item as! NSDictionary OperationQueue.main.addOperation { let results = dictionary[NSExtensionJavaScriptPreprocessingResultsKey] as! NSDictionary let urlString = results["currentUrl"] as? String let url = NSURL(string: urlString!) print(results) print(url as Any) } }) } else { print("error") } break } if attachment.hasItemConformingToTypeIdentifier("public.url") { if attachment.hasItemConformingToTypeIdentifier("public.url") { attachment.loadItem(forTypeIdentifier: "public.url",options: nil) { [weak self] data,error in print(data as Any) var rawImage : UIImage? var rawData : Data? if let shareURL = data as? NSURL { print (shareURL.absoluteString!) let stringurl :String = (shareURL.absoluteString)! if stringurl.contains("file:///") { var url : URL? var rawImage : UIImage? var rawData : Data? url = shareURL as URL // GETTING RAW DATA print(url as Any) do { rawData = try Data(contentsOf: shareURL as URL) rawImage = UIImage(data: rawData!) if rawImage != nil { self?.found = true rawImage = resizeImage(image: rawImage!,newWidth: CGFloat(100)) } else { rawImage = UIImage(named: "Document")! } } catch let exp { CommonFunctions().stopAnimate() self?.view.isUserInteractionEnabled = true print("GETTING EXCEPTION \(exp.localizedDescription)") } self?.save(url!) print("7") self?.docURL.append(url!.absoluteString) if rawImage == nil { self?.selectedImages.append(UIImage(named: "Document")!) } else { self?.selectedImages.append(rawImage!) } self?.imagesData.append(rawData!)//this.imagesData.append(imgData!) if index == (content.attachments?.count)! - 1 { dispatchQueue.main.async { if ((self?.selectedImages.count)!) > 0 { print(self?.selectedImages.count as Any) print("reload start") CommonFunctions().stopAnimate() self?.imgCollectionView.reloadData() if self?.foundwebpage == true && self?.foundDescription != true { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s)",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundDescription == true && self?.foundwebpage != true { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import Description(s)",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundwebpage == true && self?.foundDescription == true { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s) and Description",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundDescription == true && self?.foundwebpage != true && self?.found == true{ self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import Description(s) and Document(s)",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundDescription != true && self?.foundwebpage == true && self?.found == true{ self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s) and Document(s)",count: String(describing: (self?.selectedImages.count)!)) } else { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import Document(s)",count: String(describing: (self?.imagesData.count)!)) } } else { CommonFunctions().stopAnimate() print("no doc selected") } self?.view.isUserInteractionEnabled = true } } } else { do { rawData = try Data(contentsOf: shareURL as URL) rawImage = UIImage(data: rawData!) if rawData == nil { rawData = Data() print("data is nil") } else { print("data filled") } if rawImage != nil { rawImage = resizeImage(image: rawImage!,newWidth: CGFloat(100)) } else { rawImage = resizeImage(image: UIImage(named: "worldwide48")!,newWidth: CGFloat(100)) } } catch let exp { CommonFunctions().stopAnimate() self?.view.isUserInteractionEnabled = true print("GETTING EXCEPTION \(exp.localizedDescription)") } rawData = Data() self?.selectedImages.append(UIImage(named: "worldwide48")!) self?.imagesData.append(rawData!) self?.docURL.append(shareURL.absoluteString!) print(self?.docURL as Any) if index == (content.attachments?.count)! - 1 { dispatchQueue.main.async { if ((self?.selectedImages.count)!) > 0 { print(self?.selectedImages.count as Any) print("reload start") CommonFunctions().stopAnimate() self?.imgCollectionView.reloadData() self?.foundwebpage = true if self?.foundwebpage == true && self?.foundDescription == true { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s) and Description",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundwebpage == true && self?.found == true { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s) and Document(s)",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundwebpage == true && self?.foundDescription == true && self?.found == true { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s),Description and Document(s)",count: String(describing: (self?.selectedImages.count)!)) } else { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s)",count: String(describing: (self?.selectedImages.count)!)) } } else { CommonFunctions().stopAnimate() print("no doc selected") } self?.view.isUserInteractionEnabled = true } } print("end of doc") } } else { CommonFunctions().stopAnimate() self?.fallbackAlert() return } } } break } attachment.loadItem(forTypeIdentifier: contentType,error in if error == nil { print("data recieved") var url : URL? var urlString : String? var rawImage : UIImage? var rawData : Data? if let dataurl : URL = data as? URL { url = dataurl // GETTING RAW DATA print(url as Any) do { rawData = try Data(contentsOf: dataurl) do { if #available(iOSApplicationExtension 13.0,*) { let compressedData = try (rawData! as NSData).compressed(using: .lzfse) rawData = Data(referencing: compressedData) } else { // Fallback on earlier versions } // use your compressed data } catch { print(error.localizedDescription) } rawImage = UIImage(data: rawData!) if rawImage != nil { self?.found = true rawImage = resizeImage(image: rawImage!,newWidth: CGFloat(100)) } else { rawImage = resizeImage(image: UIImage(named: "Document")!,newWidth: CGFloat(100)) } } catch let exp { CommonFunctions().stopAnimate() self?.view.isUserInteractionEnabled = true print("GETTING EXCEPTION \(exp.localizedDescription)") } self?.save(url!) print("7") self?.docURL.append(url!.absoluteString) } else if let dataurl : String = data as? String { urlString = dataurl // GETTING RAW DATA print(urlString as Any) url = URL(string: urlString!) if url != nil { self?.foundwebpage = true self?.docURL.append(url!.absoluteString) do { rawData = try Data(contentsOf: url! as URL) if rawData == nil { print("data is nil") } else { print("data filled") } rawImage = UIImage(named: "worldwide48")! } catch let exp { CommonFunctions().stopAnimate() self?.view.isUserInteractionEnabled = true print("GETTING EXCEPTION \(exp.localizedDescription)") } } else { self?.foundDescription = true rawData = Data() rawImage = UIImage(named: "note_icon")! //url = URL(string: "http://www.google.com") self?.selectedDescription = urlString! } print(url as Any) print(self?.docURL as Any) print("url from string") } else if let img : UIImage = data as? UIImage { rawImage = img rawData = rawImage?.jpegData(compressionQuality: 0) let filename = "IMG_" + String(describing: index + 1) + "_" + CommonFunctions().getCurrentDate() + ".jpg" url = self?.saveImage(rawImage!,name: filename) self?.save(url!) if url == nil { print("6") CommonFunctions().stopAnimate() return } else { print("5") self?.found = true self?.docURL.append(url!.absoluteString) } } else { CommonFunctions().stopAnimate() self?.fallbackAlert() return } let this = self if rawImage == nil { this?.selectedImages.append(UIImage(named: "Document")!) } else { this?.selectedImages.append(rawImage!) } this?.imagesData.append(rawData!)//this.imagesData.append(imgData!) if index == (content.attachments?.count)! - 1 { dispatchQueue.main.async { if ((self?.selectedImages.count)!) > 0 { print(self?.selectedImages.count as Any) print("reload start") CommonFunctions().stopAnimate() self?.imgCollectionView.reloadData() if self?.foundwebpage == true && self?.foundDescription != true { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s)",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundDescription == true && self?.foundwebpage != true { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import Description(s)",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundwebpage == true && self?.foundDescription == true { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s) and Description",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundDescription == true && self?.foundwebpage != true && self?.found == true{ self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import Description(s) and Document(s)",count: String(describing: (self?.selectedImages.count)!)) } else if self?.foundDescription != true && self?.foundwebpage == true && self?.found == true{ self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import URL(s) and Document(s)",count: String(describing: (self?.selectedImages.count)!)) } else { self?.lblHeader.attributedText = CommonFunctions().getHeader(title: "Import Document(s)",count: String(describing: (self?.imagesData.count)!)) } } else { CommonFunctions().stopAnimate() print("no doc selected") } self?.view.isUserInteractionEnabled = true } } print("end of doc") } else { print("GETTING ERROR") CommonFunctions().stopAnimate() self?.view.isUserInteractionEnabled = true self?.fallbackAlert() } } } else { print("data not supported") CommonFunctions().stopAnimate() self.view.isUserInteractionEnabled = true self.fallbackAlert() } } }
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)