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]
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
