I am new to MacOS kext development. From what I've read, it's important that the build ID for the OS in use and the KDK be in agreement. I'm assuming this is so that symbols line up, etc.
I'm wondering about how to arrange this.
The KDKs I see and can download for the release I'm starting with don't align with the build ID in the OS.
For example, I'm working with 10.13.6 installed in a VMware VM. It's build ID is 17G9016. The closest build IDs in the list of KDKs that apply to 10.13.6 are 17G8030, 17G9007, and 17G9010.
How do I get a 10.13.6 release that will have a build ID for which a corresponding KDK exists?
This can be tricky. There are two sources of variant build numbers:
Hardware-specific builds (A)
Security updates (B)
You can get around B by avoiding cutting edge hardware. Working in a VM is great.
For A, I generally look through the Apple Support’s Downloads site for ‘combo’ updates, and then match them up against available KDKs. To continue your 10.13.6 example, the 10.13.6 Combo Update is build 17G65, and there’s a KDK for that.
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"