Post

Replies

Boosts

Views

Activity

Reply to Persistent font registration crashes when fonts are delivered via Apple-Hosted Background Assets
Hi Quinn, Thank you for the detailed analysis — especially the breakdown of the crashing thread and explanation about the Swift concurrency actor expectation. That was extremely helpful. I tested your suggestion: CTFontManagerRegisterFontURLs(cfArray, scope, true) { @Sendable _, _ in true } Result This does prevent the crash. The system “Install Fonts” sheet appears, and tapping Install no longer triggers a trap. Remaining Issue Although the crash is fixed, the fonts still do not install system-wide when using the .persistent scope with fonts delivered via Apple-Hosted Background Assets. After tapping Install, nothing appears under: Settings → General → Fonts → My Fonts So the concurrency crash is resolved, but the underlying issue remains: .process registration works .persistent registration does not install fonts No errors are returned by CTFontManagerRegisterFontURLs Next Steps As you suggested, I am happy to have FB21109320 repurposed to track the missing concurrency annotation on CTFontManagerRegisterFontURLs, since adding @Sendable does avoid the trap. Thanks again for the help — much appreciated. Question: Is .persistent font registration intended to work with fonts delivered through Apple-Hosted Background Assets? Historically, Apple supported this workflow using On-Demand Resources (per WWDC 2019 “Font Management and Text Scaling”). However, ODR is deprecated and Apple-Hosted Background Assets are the modern replacement (per WWDC 2025 “Discover Apple-Hosted Background Assets”). So my question is whether: .persistent font installation should work via AHBAs today, and there may be a bug preventing installation, or .persistent installation is currently not supported for asset-pack-hosted fonts, and apps must instead ship those fonts in the app bundle until a future update adds support. Having clarity on this expected behaviour will help a lot. Thanks again for your guidance — it’s been extremely helpful.
3w