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.
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.
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.
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.
This appeared to work for the the local administrator profile at first login (installed in InstaDMG), but not newly created mobile user profiles
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.
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.
What did you use to create the profile?
This tool: https://github.com/timsutton/mcxToProfile
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 ”
Thanks for that additional info! That might explain why this seems to work for some and not for others…
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.
“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.
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)
@Ramuntcho Where you able to bake the user template into the package you created? Or did you use a first run script?
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.