Controlling the Diagnostics & Usage report settings on Yosemite
One of the pop-up windows you get on first login to Yosemite is the Diagnostics & Usage pop-up window. This window requests permission for the following:
- Send diagnostics and usage data to Apple
- Share crash data with non-Apple developers
I’ve been suppressing this window without setting those diagnostic reporting settings, but Mac admins may also want to apply those settings as part of building their machines. Thanks to investigative work by Tim Sutton, it looks like it’s possible to control those settings by setting the correct values in the /Library/Application Support/CrashReporter/DiagnosticMessagesHistory.plist file.
<key>AutoSubmitVersion</key> <integer>5</integer> <key>AutoSubmit</key> <false/> <key>ThirdPartyDataSubmitVersion</key> <integer>5</integer> <key>ThirdPartyDataSubmit</key> <false/>
For more details, see below the jump.
An important side-benefit of setting these values is that it also appears to suppress the Diagnostics & Usage pop-up window, since the pop-up window appears to allow those settings to be chosen. In my testing, I verified that applying these settings to a unconfigured factory-fresh 10.10.0 Mac before the first login prevented the Diagnostics & Usage pop-up window from appearing. The Diagnostics & Usage window also did not appear after upgrading the Mac to 10.10.1.
Update: 1-21-2016 – For OS X El Capitan, the numeric value set for the AutoSubmitVersion and ThirdPartyDataSubmitVersion settings has changed from 4 to 5. I’ve updated the script below so that it sets the proper numeric values for both OS X Yosemite and OS X El Capitan.
I’ve built a script to assist Mac admins with applying the desired settings for their own shop. It’s available from below, and also from my GitHub repo.
This script sets whether you want to send diagnostic info from Yosemite and later back to Apple and/or third party app developers by setting the appropriate values in /Library/Application Support/CrashReporter/DiagnosticMessagesHistory.plist.
If you want to send diagnostic and usage data to Apple, set the following value in the script for the SUBMIT_DIAGNOSTIC_DATA_TO_APPLE value:
If you want to send crash data to non-Apple developers, set the following value in the script for the SUBMIT_DIAGNOSTIC_DATA_TO_APP_DEVELOPERS value:
By default, the values in this script are set to send no diagnostic data, either to Apple or to non-Apple developers:
To change these settings in the script, comment out the FALSE lines and uncomment the TRUE lines as appropriate.