Может кто-нибудь объяснить, почему шрифты не удаляются, если вы используете CTFontManagerUnregisterFontDescriptors. Например, если вы используете CTFontManagerUnregisterFontURLs, то все в порядке, однако если вы используете CTFontManagerUnregisterFontDescriptors, тогда не все шрифты будут удалены.
Спасибо.
let font = ["MPLUS1p-Black","MPLUS1p-ExtraBold","MPLUS1p-Bold","MPLUS1p-Medium","MPLUS1p-Regular","MPLUS1p-Light","MPLUS1p-Thin"]
func register(completion: @escaping (Bool) -> ()) {
let fonts: CFArray = font as CFArray
CTFontManagerRegisterFontsWithAssetNames(fonts, CFBundleGetMainBundle(), .persistent, true) { (errors, done) -> Bool in
if done {
completion(true)
print("done")
return true
} else {
completion(false)
print(errors as Array)
return false
}
}
}
func unregister(completion: @escaping (Bool) -> ()) {
let fontDescriptors = files.map( {
return UIFontDescriptor(fontAttributes: [UIFontDescriptor.AttributeName.name: $0])
})
CTFontManagerUnregisterFontDescriptors(fontDescriptors as CFArray, .persistent) { (errors, done) -> Bool in
if done {
completion(true)
print("done")
return true
} else {
completion(false)
print(errors as Array)
return false
}
}
}