Как мне реализовать перетаскивание из Фото в мое приложение Какао с полным качеством?

В моем представлении назначения перетаскивания (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 предоставила пример проекта, который реализует все правильно.

Другие вопросы по тегам