我在 iOS 中创建了一个 Spotlight 扩展并想要调试它。但是,由于 Spotlight 索引由 iOS 控制,我不知道哪个应用程序会触发索引运行。我尝试了 Safari 但无济于事。
最佳答案
在 Xcode 窗口左上角的方案选择器中选择 Spotlight 扩展。
当您单击运行时,Xcode 会询问您要运行哪个应用程序。选择您的扩展程序的父应用程序。这将正常运行您的应用程序,但您现在将附加到扩展程序进行调试。
下一步是触发 Spotlight 重新索引。从您设备的设置页面执行此操作(必须启用它才能从 Xcode 进行开发):
在这里您可以选择 重新索引所有项目 或 重新索引所有带有标识符的项目 。这两个选项对应于下面的 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/