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 

Alex

> On 2 Oct 2017, at 08:23, Yun Zeng via swift-evolution 
> <[email protected]> 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: [email protected] 
> <mailto:[email protected]>_______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to