Starting with iOS 15 (probably macOS 12 too), launchd's behavior changes again.
Now the daemon cache loading is offloaded to a new mandatory boot-task called launchd_cache_loader (in /usr/libexec).
Cache is now in /System/Library/xpc/launchd.plist(.sig) #TheMoreYouKnow
As far as I can tell, launchd_cache_loader connects to launchd through a Mach port and to the AMFI kext through its IOService. If AMFI returns that the cdhash equals the one in its trust cache, launchd_cache_loader sends the cache to launchd.
Honest question tho: what’s the point of keeping the files on-disk since their contents is kept signed in a cache?
• • •
Missing some Tweet in this thread? You can try to
force a refresh