小编nfl*_*fls的帖子

文件提供程序iOS11 startProvidingItem未被调用

我正在为iOS 11实现文件提供程序扩展.

通过https://developer.apple.com/videos/play/wwdc2017/243/观看会议并浏览Apple的文档,我似乎无法理解如何实现NSFileProviderExtension和NSFileProviderEnumerator对象的某些方法.

我成功实现了NSFileProviderItem,其中所有这些都列在了Navite iOS 11文件应用程序中.但是,我无法触发任何基于文档的应用程序在选择文件时打开.

我覆盖了NSFileProviderExtension的所有方法.有些仍然是空的,但我设置了一个断点来检查它们何时被调用.

NSFileProviderExtension看起来像这样:

class FileProviderExtension: NSFileProviderExtension {
    var db : [FileProviderItem]  = [] //Used "as" a database
...

    override func item(for identifier: NSFileProviderItemIdentifier) throws -> NSFileProviderItem {
        for i in db {
            if i.itemIdentifier.rawValue == identifier.rawValue {
                return i
            }
        }
        throw NSError(domain: NSCocoaErrorDomain, code: NSNotFound, userInfo:[:])
    }

    override func urlForItem(withPersistentIdentifier identifier: NSFileProviderItemIdentifier) -> URL? {
        guard let item = try? item(for: identifier) else {
            return nil
        }

        // in this implementation, all …
Run Code Online (Sandbox Code Playgroud)

ios swift ios-app-extension ios11 xcode9

6
推荐指数
1
解决办法
1867
查看次数

标签 统计

ios ×1

ios-app-extension ×1

ios11 ×1

swift ×1

xcode9 ×1