Я хочу иметь возможность перетаскивать файлы из моего приложения в другие приложения, такие как файлы или сообщения.
В dragItems(tableView: UITableView, for indexPath: IndexPath)
я создаю и возвращаю NSItemProvider следующим образом:
let itemProvider = NSItemProvider()
itemProvider.registerFileRepresentation(forTypeIdentifier: "public.data", fileOptions: [], visibility: .all) { completion in
completion(url, false, nil)
return nil
}
itemProvider.suggestedName = url.lastPathComponent
Я также пытался зарегистрировать представление данных:
itemProvider.registerDataRepresentation(forTypeIdentifier: "public.data", visibility: .all) { completion in
do {
let data = try Data(contentsOf: url)
completion(data, nil)
}
catch {
completion(nil, error)
}
return nil
}
Но ни одна из них не работает: файлы и сообщения не принимают перетаскивание. (Однако работает в FileBrowser).
Проверяя NSItemProvider, который я получаю, перетаскивая файл из Files в мое приложение, я не вижу, что отличается от того, который я создаю.
Есть идеи, что я делаю не так?
спасибо,
Dillo