[swift-evolution] What's the Pages/Numbers/Keynote file's UTI in Drop&Drag

Alex Blewitt alblue at apple.com
Mon Oct 2 05:24:20 CDT 2017

This isn't an appropriate question for the swift-evolution list. You might like to ask it on one of the Apple developer forums at https://forums.developer.apple.com 


> On 2 Oct 2017, at 08:23, Yun Zeng via swift-evolution <swift-evolution at swift.org> wrote:
> Hi everyone,
> Recently I am developing Drag&Drop function on iPad and met a problem: I can not get Pages/Numbers/Keynote files from performDrop in UIDropInteractionDelegate. Here is my solution:
> 1. Create my own file item provider, follow the protocol NSItemProviderReading. 
> 2. override method readableTypeIdentifiersForItemProvider, register UTI of iWorks files which are com.apple.iwork.pages.sffpages, com.apple.iwork.numbers.sffnumbers and com.apple.keynote.key. I got those UTI from [[NSWorkspace sharedWorkspace] typeOfFile:filePath error:nil]
> 3. override + (instancetype)objectWithItemProviderData:(NSData *)data typeIdentifier:(NSString *)typeIdentifier error:(NSError * _Nullable __autoreleasing *)outError
> 4. implement canHandleSession of UIDropInteractionDelegate and return [session canLoadObjectsOfClass:[DTFileItemProvider class]]
> I do the same thing on office files, and it work very well, I can get file's data in performDrop. But iWorks file are not.
> So did I set the wrong UTI or something?
> -- 
> Zeng Yun
> iOS Engineer
> Email/QQ: zengyun.programmer at gmail.com <mailto:zengyun.programmer at gmail.com>_______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171002/35d1e3cc/attachment.html>

More information about the swift-evolution mailing list