How to fix warning “CoreUI: RunTimeThemeRefForBundleIdentifierAndName() couldn't find Assets.car in bundle with identifier: '(null)'”?

后端 未结 2 1008
庸人自扰
庸人自扰 2021-01-04 23:05

I am trying to test app on the iOS 13 beta. When I tap a button on my welcome screen to segue to another screen the app freezes and then terminates. When I debug in Xcode 11

2条回答
  •  攒了一身酷
    2021-01-04 23:39

    I found out that problem was not related to

    CoreUI: RunTimeThemeRefForBundleIdentifierAndName() couldn't find Assets.car in bundle with identifier: '(null)'

    On target screen was used custom UILabel. The root cause of app freezing and memory issue was reentrant looping between its methods

    override var text: String? {
        didSet {
            guard let text = text else { return }
            let textRange = NSMakeRange(0, text.count)
            // Kern attribute needed to do letter spacing over text
            let attributedText = NSMutableAttributedString(string: text)
            attributedText.addAttribute(NSAttributedStringKey.kern , value: 2.0, range: textRange)
            // Add other attributes if needed
            self.attributedText = attributedText
        }
    }
    

    and

    override public func layoutSubviews() {
        super.layoutSubviews()
        if let text = self.text {
            self.text = text.uppercased()
        }
    }
    

    probably new SDK version invokes layoutSubviews() when attributedText field has changed

提交回复
热议问题