ios 11的文件提供程序扩展中的项目

问题描述:

我有一个带有文件提供程序扩展名的应用程序。我尝试使用此链接为ios 11支持新文件应用程序

I have an app with file provider extension in it. I tried giving support to the new file app with the ios 11 using this link

我按照此处的指示行事,但没有显示任何项目。我在我的plist中添加了 NSExtensionFileProviderSupportsEnumeration = YES

I did what is instructed in this but no item is getting displayed. I have added this NSExtensionFileProviderSupportsEnumeration = YES in my plist as well.

ProviderEnumerator 是我的NSFileProviderEnumerator类,其中 ProviderItem 是一个NSFileProviderItem。在我的枚举器类中我有这个,

ProviderEnumerator is my NSFileProviderEnumerator class where ProviderItem is a NSFileProviderItem. inside my enumerator class I have this,

func enumerateItems(for observer: NSFileProviderEnumerationObserver, startingAt page: NSFileProviderPage) {        
    observer.didEnumerate([ProviderItem(name: "raghav", type: "public.folder", identifier: "12334444", parentId: "-1"), ProviderItem(name: "panth", type: "public.folder", identifier: "12334444", parentId: "-1")])        
    var myInt = 100
    let myIntData = Data(bytes: &myInt, count: MemoryLayout.size(ofValue: myInt))
    observer.finishEnumerating(upTo: NSFileProviderPage(rawValue: myIntData))        
}

observer.didEnumerate()被调用但是视图没有被填充

observer.didEnumerate() gets called but the view is not getting populated

我错过了什么 !!

最后我想出了问题,如果我们想在根目录中显示文件页面 NSFileProviderItem 需要它parent_id为 NSFileProviderItemIdentifier.rootContainer 。设置这个解决了我的问题

Finally I figured out the problem here, that if we want to show the files in the root page the NSFileProviderItem requires it's parent_id as NSFileProviderItemIdentifier.rootContainer. Setting this solved my problem