Как мне реализовать перетаскивание из Фото в мое приложение Какао с полным качеством?
В моем представлении назначения перетаскивания (NSView
подкласс), я реализовал:
override func performDragOperation(_ draggingInfo: NSDraggingInfo) -> Bool {
// check for Photos promises
var gotPromised = false
draggingInfo.enumerateDraggingItems(options: [], for: self, classes: [NSFilePromiseReceiver.self], searchOptions: [:], using: {(draggingItem, idx, stop) in
let filePromiseReceiver = draggingItem.item
print("got a file promise receiver: \(filePromiseReceiver)")
gotPromised = true
// Use filePromiseReceiver here for your task.
})
return gotPromised
}
Когда я запускаю это и перетаскиваю что-то из Photos.app, я получаю это предупреждение:
Как я могу исправить мое место назначения перетаскивания, чтобы не было этого предупреждения? Я хотел бы получить полнофункциональные фотографии в свое приложение.
1 ответ
Что ж. Сам разобрался после некоторого расследования. Вам нужно сделать несколько вещей (зарегистрироваться для правильных типов, правильно перечислить элементы и т. Д.), И предупреждения не будет, если вы просто выполните обещание, получающее полностью и правильно. Apple предоставила пример проекта, который реализует все правильно.