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

15 Comments on “Mountain Lion: suppress Apple ID / iCloud prompt”

  1. Karl Kuehn Says:

    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.

    • GregN Says:

      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.

      • Karl Kuehn Says:

        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.

    • Dennis Mueller Says:

      This appeared to work for the the local administrator profile at first login (installed in InstaDMG), but not newly created mobile user profiles

      • Anders Svensson Says:

        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.

  2. GregN Says:

    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.

  3. Wade Robson Says:

    What did you use to create the profile?

  4. Kris K Says:

    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 ”

    • GregN Says:

      Thanks for that additional info! That might explain why this seems to work for some and not for others…

    • MiqViq Says:

      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.

      • GregN Says:

        “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.

  5. Ramuntcho Says:

    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)

  6. mjoffe Says:

    @Ramuntcho Where you able to bake the user template into the package you created? Or did you use a first run script?

  7. cabal95 Says:

    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.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

Join 180 other followers

%d bloggers like this: