From cf2da858173438de6d5ab0f2847f7a84bcb34ecb Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Fri, 21 Jan 2022 19:52:59 +0800 Subject: [PATCH] SettingsViewController / UniformTypeIdentifiers --- iOS/Settings/SettingsViewController.swift | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/iOS/Settings/SettingsViewController.swift b/iOS/Settings/SettingsViewController.swift index 69f4a9829..b3fd91e2a 100644 --- a/iOS/Settings/SettingsViewController.swift +++ b/iOS/Settings/SettingsViewController.swift @@ -11,6 +11,7 @@ import Account import CoreServices import SafariServices import SwiftUI +import UniformTypeIdentifiers class SettingsViewController: UITableViewController { @@ -451,16 +452,9 @@ private extension SettingsViewController { func importOPMLDocumentPicker() { - let utiArray = UTTypeCreateAllIdentifiersForTag(kUTTagClassFilenameExtension, "opml" as NSString, nil)?.takeRetainedValue() as? [String] ?? [String]() - - var opmlUTIs = utiArray - .compactMap({ UTTypeCopyDeclaration($0 as NSString)?.takeUnretainedValue() as? [String: Any] }) - .reduce([String]()) { (result, dict) in - return result + dict.values.compactMap({ $0 as? String }) - } - opmlUTIs.append("public.xml") + let utiArray = UTType.types(tag: "opml", tagClass: .filenameExtension, conformingTo: nil) - let docPicker = UIDocumentPickerViewController(documentTypes: opmlUTIs, in: .import) + let docPicker = UIDocumentPickerViewController(forOpeningContentTypes: utiArray, asCopy: true) docPicker.delegate = self docPicker.modalPresentationStyle = .formSheet self.present(docPicker, animated: true) @@ -511,7 +505,7 @@ private extension SettingsViewController { self.presentError(title: "OPML Export Error", message: error.localizedDescription) } - let docPicker = UIDocumentPickerViewController(url: tempFile, in: .exportToService) + let docPicker = UIDocumentPickerViewController(forExporting: [tempFile], asCopy: true) docPicker.modalPresentationStyle = .formSheet self.present(docPicker, animated: true) }