Ok jetzt habe ich mehr Befunde. Vergiss meinen Kommentar zu der anderen Antwort.
In meinem Fall habe ich die Nachricht erhalten, wenn ich nicht das @escaping
Schlüsselwort auf einem Abschluss-Parameter einer Funktion verwendet (mit Swift 3 wo Schließungen standardmäßig nicht entkommen sind). Diese Funktion wurde mit einer Schließung aufgerufen, die sich nicht auf self
bezieht (weil sie nicht benötigt wurde). Diese Funktion hat jedoch eine andere Funktion aufgerufen, die den Abschluss weiterleitet. Also am Ende endete meine Schließung ohne eine Referenz. Ich empfehle Ihnen, eine Kopie Ihres Blocks zu behalten, den Sie als Argument für loadMatchesWithCompletionHandler
verwenden. Auf diese Weise wird der Block nicht vorzeitig freigegeben.
Dies erklärt auch, warum der Fehler nur manchmal und nicht immer auftritt. Dies ist typisch für Probleme mit der Speicherfreigabe.
Mein komischer Kommentar zu dieser Nachricht ist, dass ich es (mit einem Ausnahmecode-10877) bekomme, wenn ich versuche, eine Audio Unit Extension mit einer laufenden 'AVAudioEngine' zu verbinden. Auch das Problem tritt "manchmal" auf, in 1 von 20 Fällen oder so. Frage mich, ob es ein internes RPC-Problem ist. – bio