diff --git a/Source/Modules/LMMgr.swift b/Source/Modules/LMMgr.swift index 26a2c292..00f58813 100644 --- a/Source/Modules/LMMgr.swift +++ b/Source/Modules/LMMgr.swift @@ -558,12 +558,20 @@ public enum LMMgr { // MARK: UOM public static func saveUserOverrideModelData() { - DispatchQueue.main.async { + let globalQuene = DispatchQueue.global(qos: .default) + let group = DispatchGroup() + group.enter() + globalQuene.async { Self.uomCHT.saveData(toURL: userOverrideModelDataURL(InputMode.imeModeCHT)) + group.leave() } - DispatchQueue.main.async { + group.enter() + globalQuene.async { Self.uomCHS.saveData(toURL: userOverrideModelDataURL(InputMode.imeModeCHS)) + group.leave() } + _ = group.wait(timeout: .distantFuture) + group.notify(queue: DispatchQueue.main) {} } public static func removeUnigramsFromUserOverrideModel(_ mode: InputMode) {