ios 11 的文件提供程序扩展中的项目
Items in File provider extension for ios 11
我有一个带有文件提供程序扩展的应用程序。我尝试使用 link
为 ios 11 的新文件应用程序提供支持
我按照此处的说明进行操作,但没有显示任何项目。我也在我的 plist 中添加了这个 NSExtensionFileProviderSupportsEnumeration = YES
。
ProviderEnumerator
是我的 NSFileProviderEnumerator class 其中 ProviderItem
是一个 NSFileProviderItem。在我的枚举器中 class 我有这个,
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()
被调用但未填充视图
我是不是漏了什么!!
我终于弄明白了这里的问题,如果我们想在根页面中显示文件,NSFileProviderItem
需要 parent_id 作为 NSFileProviderItemIdentifier.rootContainer
。设置这个解决了我的问题
我有一个带有文件提供程序扩展的应用程序。我尝试使用 link
为 ios 11 的新文件应用程序提供支持我按照此处的说明进行操作,但没有显示任何项目。我也在我的 plist 中添加了这个 NSExtensionFileProviderSupportsEnumeration = YES
。
ProviderEnumerator
是我的 NSFileProviderEnumerator class 其中 ProviderItem
是一个 NSFileProviderItem。在我的枚举器中 class 我有这个,
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()
被调用但未填充视图
我是不是漏了什么!!
我终于弄明白了这里的问题,如果我们想在根页面中显示文件,NSFileProviderItem
需要 parent_id 作为 NSFileProviderItemIdentifier.rootContainer
。设置这个解决了我的问题