Устранение утечки памяти в SearchKit CoreService
Я работал над проектом, используя Apple SearchKit. Но недавно я обнаружил утечку памяти через инструменты, которая указывает на SearchKit. Как код ниже
guard
let document = SKDocumentCreateWithURL(fileURL)?.takeRetainedValue()
else { return false }
defer { SKIndexFlush(indexFile) }
// Both SKIndexAddDocumentWithText and SKIndexAddDocument are builtin SearchKit
let addMethod: documentAddFunc = type == .nameOnly ? SKIndexAddDocumentWithText : SKIndexAddDocument
let textContent: CFString? = type == .nameOnly ? (fileName + " \(additionalNote)") as CFString : nil
return addMethod(indexFile, document, textContent, true)/* The line where instrument suggests the memory leak happened*/
Некоторые объяснения здесь: две функции могут быть назначены addMethod
обе встроенные функции из SearchKit. indexFile
тип SKIndex document
создается в верхней части картинки, которая должна быть правильной.
Так это ошибка на стороне Apple, или это моя проблема, чтобы вызвать утечку памяти? Что я могу сделать, чтобы избежать или исправить это?
Большое спасибо!