我在 iOS 中创建了一个 Spotlight 扩展并想要调试它。但是,由于 Spotlight 索引由 iOS 控制,我不知道哪个应用程序会触发索引运行。我尝试了 Safari 但无济于事。

最佳答案

在 Xcode 窗口左上角的方案选择器中选择 Spotlight 扩展。

ios - 如何在 iOS 中调试 Spotlight 扩展-LMLPHP

当您单击运行时,Xcode 会询问您要运行哪个应用程序。选择您的扩展程序的父应用程序。这将正常运行您的应用程序,但您现在将附加到扩展程序进行调试。

下一步是触发 Spotlight 重新索引。从您设备的设置页面执行此操作(必须启用它才能从 Xcode 进行开发):



ios - 如何在 iOS 中调试 Spotlight 扩展-LMLPHP
ios - 如何在 iOS 中调试 Spotlight 扩展-LMLPHP

在这里您可以选择 重新索引所有项目 重新索引所有带有标识符的项目 。这两个选项对应于下面的 Core Spotlight IndexRequestHandler: CSIndexExtensionRequestHandler 方法:

override func searchableIndex(_ searchableIndex: CSSearchableIndex, reindexAllSearchableItemsWithAcknowledgementHandler acknowledgementHandler: @escaping () -> Void) {
    // Reindex all data with the provided index
}

override func searchableIndex(_ searchableIndex: CSSearchableIndex, reindexSearchableItemsWithIdentifiers identifiers: [String], acknowledgementHandler: @escaping () -> Void) {
    // Reindex any items with the given identifiers
}

您现在可以正常调试这些方法,并在源代码编辑器中显示运行时错误。

关于ios - 如何在 iOS 中调试 Spotlight 扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38907577/

10-10 21:05