Удалить пользовательские шрифты - PullRequest
0 голосов
/ 25 февраля 2020

Может кто-нибудь объяснить, почему шрифты не удаляются, если вы используете 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
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...