Das passiert sehr selten. Hier ist die letzte Zeile des Stack-Trace:dispatch_group_leave crash in swift
0 libdispatch.dylib 0x0000000197a85a9c dispatch_group_leave + 48
dispatch_group_leave in einem vollständigen Verschluss genannt, die wie folgt aufgerufen wird:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
{() -> Void in
let query = HKStatisticsCollectionQuery(quantityType: quantityType,
quantitySamplePredicate: nil,
options: statisticOptions,
anchorDate: anchorDate,
intervalComponents: interval)
query.initialResultsHandler = {
complete()
Also wir zu einem Hintergrund-Thread versenden, führen Sie eine HKStatisticsCollectionQuery und Rufen Sie dann einen Funktionsparameterabschluss namens complete auf. Inside Complete ist der Ort, an dem die dispatch_group_leave aufgerufen wird und der Absturz stattfindet.
Alle Ideen werden am meisten geschätzt! Danke!
Interessant. Ich habe eine Eingabe, bevor die erste Schließung aufgerufen wird. Hmmm. – jestro
Ich denke das war es. Bestimmte Blätter wurden zu schnell gerufen. Alle Einträge und die Benachrichtigung verschoben, bevor die Blätter aufgerufen werden können. Vielen Dank! – jestro
@mustafa gibt es eine Möglichkeit, den Fall des Aufrufs dispatch_group_leave mehr als es sollte verhindern? für Fälle, in denen ich nicht mit Sicherheit sagen kann, dass der Completion-Block - in dem der Dispatch_group_leave aufgerufen wird - nicht mehr als einmal aufgerufen wird? – ofer2980