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

时间:2017-10-04 11:08:27

标签: ios swift ios11 ios-extensions

我有一个带有文件提供程序扩展名的应用程序。我尝试使用此link

支持使用ios 11的新文件应用

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

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

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()被调用,但视图没有被填充

我错过了什么 !!

1 个答案:

答案 0 :(得分:4)

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