The more I dive into this target the more conflicting information I find:
I have a preflight installer tool that validates the model of the machine we are installing on. (E.G. We don't install on XServe's)
We've discovered however that little nuances that change from model to model can affect our behaviour so I've needed finer granulation on checking the hardware we're installing on.
sysctl -A can be parsed for hw.model which will give me the Model Identifier (i.e. MacBookPro4,2)
Using the identifier presents a few problems:
-The identifier however can encompass multiple Model Numbers and multiple CPU configurations.
- There doesn't seem to be any one good repository of which identifier goes to which machine.
The model itself is horridly unusable: "iMac" as that can be any of the models.
Unfortunately, I've been unable to find any method to discover the Model Number (i.e. MB402LL/A vs /B)
This may seem like minutia; but we've had issues crop up where bugs only exist on certain models and we have no way of running an API to say, "Yes, we can't install on this machine. We are aware of the issue."
The Apple compat labs list thier machines by both "Marketing Model": '13.3 " MacBook (Early 2008)' {is there an API?} as well as "Partial model number": 'MB402' {Is there an API is that a LL/A or LL/B and would that be a MacBook4,1; 4,2; or something else}
This also completely makes setting up a test array or a test plan very difficult for us.
This list seemed to be the best place to start as the only hardware list on l.a.c is for driver dev.
Any advice, suggestions welcomed.
Thanks
-Andrei Freeman
Mobile Armor
Macintosh Platform Lead Engineer.
________________________________
The information contained in this e-mail, including any files attached to it, is intended only for the personal use of the designated recipient and may contain PRIVILEGED and CONFIDENTIAL information and is exempt
from disclosure under applicable law. If the reader of this e-mail and attachments is not the intended recipient, you are notified that any dissemination, disclosure, distribution, printing, copying or the taking of any action in reliance on this information
is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately by responding to this email or by calling our office at (314) 590-0900.