Ios 如何为任何类型的信息注册项目提供者?

Ios 如何为任何类型的信息注册项目提供者?,ios,objective-c,swift,Ios,Objective C,Swift,如何为任何类型的信息注册项目提供者 我使用应用程序扩展。 如何为任何类型的信息注册项目提供者?音频、视频、PDF、任何东西? 我知道,对于PDF或音频等已知类型,可以使用UTType和以下代码注册此已知类型: let itemProvider = NSItemProvider() itemProvider.registerItemForTypeIdentifier(kUTTypePDF as String) { completionHandler, expectedValueClass, opt

如何为任何类型的信息注册项目提供者

我使用应用程序扩展。 如何为任何类型的信息注册项目提供者?音频、视频、PDF、任何东西? 我知道,对于PDF或音频等已知类型,可以使用
UTType
和以下代码注册此已知类型:

let itemProvider = NSItemProvider()
itemProvider.registerItemForTypeIdentifier(kUTTypePDF as String) { completionHandler, expectedValueClass, options in
let data = try! NSData(contentsOfURL: fileURL, options: .DataReadingMappedAlways)
completionHandler(data, nil)
}
我找不到有关任何信息的
UTType
。我知道有
kUTTypeData
。任何类型的简单字节流的类型标识符,包括文件和内存数据。但是,看起来这个
kUTTypeData
不是我需要的

另外还有关于
UTType
的链接

也许这个代码会有帮助

NSArray *allIdentifiers = (__bridge_transfer NSArray *)UTTypeCreateAllIdentifiersForTag(kUTTagClassFilenameExtension, pathExtension, CFSTR("public.font"));
        if (![allIdentifiers count]) {
            return NO;
        }

可能重复的链接感谢。看起来解决方案应该在链接中起作用。我还需要知道在info.plist中为NSExtensionActivationRules写什么看起来我需要键入所有8个案例,或者可能NSExtensionActivationSupportsFile with MaxCount和NSExtensionActivationSupportsText将不可能重复感谢链接。看起来解决方案应该在链接中起作用。我还需要知道在info.plist中为NSExtensionActivationRules写什么看起来我需要键入所有8个案例,或者可能NSExtensionActivationSupportsFile with MaxCount和NSExtensionActivationSupportsText将不可用