Я работал над проектом, используя 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, или моя проблема - вызвать утечку памяти?Могу ли я что-нибудь сделать, чтобы избежать или исправить это?
Большое спасибо!