CTFontManagerCreateFontRequestRunLoopSource does not receive events in macOS 27

CTFontManagerCreateFontRequestRunLoopSource does not receive any font requests on macOS 27, since beta 5. This API worked fine until macOS 27 beta 4, including previous macOS releases.

It looks like this is caused by the App Sandbox. When the com.apple.security.app-sandbox entitlement is disabled the font request source does receive events.

Report including sample project: FB24764122

let source = CTFontManagerCreateFontRequestRunLoopSource(0, { (dict, pid) in /* does not receive events when sandboxed */ }
CFRunLoopAddSource(CFRunLoopGetCurrent(), source, .defaultMode)

Is this a deliberate change or is this a bug in macOS 27? Is there an entitlement that can be set to enable the API in sandboxed apps?

My application is distributed on the Mac App Store and as standalone app. Both are properly sandboxed for added security. Disabling the App Sandbox for this specific API would be very undesirable as users will lose all Sandbox benefits.

You attached a sysdiagnose log to your bug but it looks like that log was from macOS 15.7.9. Please reproduce the problem on macOS 27, immediately grab a sysdiagnose log on that Mac, attach it to your bug, and then reply here when you’re done.

ps I have lots of bug reporting hints and tips in Bug Reporting: How and Why?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thanks for looking into it! I've ran the sample app a few times and added the sysdiagnose log generated by the Feedback Assistant.

PS. the "File effective bug reports" link in your Bug Reporting tips topic seems to redirect to an unrelated page. If I did it incorrectly or you need more info/details please let me know :)

CTFontManagerCreateFontRequestRunLoopSource does not receive events in macOS 27
 
 
Q