Mountain Lion: suppress Apple ID / iCloud prompt
This question has come up a few times in the past few days, so I thought I’d better document it.
On Mountain Lion, how do I suppress the Setup Assistant that prompts for an Apple ID to setup iCloud?
The answer is to use MCX. You can use Local MCX, network directory-based MCX, or Profiles.
You can read more about Local MCX here. (And yes, Local MCX still works in Mountain Lion.)
# dscl /Search mcxread /ComputerGroups/setupassistant App domain: com.apple.SetupAssistant Key: DidSeeCloudSetup State: once Value: 1 App domain: com.apple.SetupAssistant Key: LastSeenCloudProductVersion State: once Value: 10.8
Here is a profile that will do the same thing. You can use the command-line profiles tool to install it.
NOTE: for whatever reason, this doesn’t work if the management frequency is set to “Always” or “Forced”. It does work when set “Once”. I have not tested “Often”, but I imagine that would work as well.
Explore posts in the same categories: Deployment, DirectoryService, MCX, Mountain Lion
July 26, 2012 at 11:50 am
I really don’t know if this would work, but did you try just:
defaults write /path/to/volume/Library/Preferencs/com.apple.SetupAssistant DidSeeCloudSetup -int 1
defaults write /path/to/volume/Library/Preferencs/com.apple.SetupAssistant LastSeenCloudProductVersion ’10.8′
Assuming that SetupAssistant is not doing something weird internally, that should do the same thing, and not require mcx.
July 26, 2012 at 2:53 pm
It might work — if someone has time to test, please let us know!
On the other hand, SetupAssistant is almost certainly doing something weird, since managing these preferences “Always” does not work.
July 26, 2012 at 5:43 pm
Actually, that tends to tell me that SetupAssistant is doing the “normal” thing, since the “Always” flag requires explicit (and anoyying) extra work in code to work. This is one of those areas where MCX was never very good.
August 30, 2012 at 9:34 am
This appeared to work for the the local administrator profile at first login (installed in InstaDMG), but not newly created mobile user profiles
August 31, 2012 at 6:21 am
defaults write “/path/com.apple.SetupAssistant” DidSeeCloudSetup -bool true
and
defaults write “/path/com.apple.SetupAssistant” LastSeenCloudProductVersion -string ’10.8.1′
appear to work fine for me.
July 26, 2012 at 6:11 pm
I don’t know — adding MCX support (including “Always”) to Munki was a simple as using CFPreferences to read the preferences; specifically CFPreferencesCopyAppValue. There’s more code if you need to update the UI to show that a value is forced/always, but that wouldn’t be the case here.
July 27, 2012 at 6:24 am
What did you use to create the profile?
July 27, 2012 at 7:00 am
This tool: https://github.com/timsutton/mcxToProfile
September 5, 2012 at 4:42 pm
Be aware that these two keys on their own don’t work in a newly created account from the User Templates. The setup assistant will still run if the account lacks a com.apple.loginwindow.plist and a loginwindow.plist. They can be blank, they just need to exist. Something like this will be sufficient:
defaults write /Users/username/Library/Preferences/com.apple.loginwindow -dict ”
defaults write /Users/username/Library/Preferences/loginwindow -dict ”
September 5, 2012 at 8:18 pm
Thanks for that additional info! That might explain why this seems to work for some and not for others…
September 23, 2012 at 11:02 am
Does anyone have a working solution for disabling iCloud prompt with first login on OS X 10.8?
I did try using LaunchAgent and LoginHook for creating com.apple.loginwindow and loginwindow for the user logging in but it does not seem to work…still prompting for iCloud.
September 23, 2012 at 11:15 am
“someone” has a working solution — that was the whole point of my post. This solution works for me. There may be other bits needed that I already have in place, though. I’m using Local MCX, though, and not a LaunchAgent or LoginHook.
October 4, 2012 at 4:31 am
Hello,
I put in the User Template the prefs com.apple.SetupAssistant.plist
with DidSeeCloudSetup -bool true
and LastSeenCloudProductVersion -string 10.8
It’s working very well
(On a 10.8.2 systeme, you can put 10.8 or 10.8.2, it’s working)
October 16, 2012 at 2:21 am
@Ramuntcho Where you able to bake the user template into the package you created? Or did you use a first run script?
March 8, 2013 at 8:48 am
For the record, I set this up with “full” MCX (Open Directory on Apple OS X) and used the “often” method and it worked fine.
I also recommend doing this even if you want to use iCloud, we noticed that if iCloud is enabled at login by the setup assistant it will automatically move/merge all your calendars and contacts into the cloud, even if you didn’t want some of them in the cloud. For home users not so much of a problem, but for users in a corporate environment where they use their personal apple ID for getting to their iCloud stuff – it means all their work information is now merged with their personal info and requires manual sorting to undo it.