Mountain Lion Apple ID and iCloud Prompt at Login

jshipman
New Contributor III

I know this is old hat, but we are just now deploying 1200 new Mac Mini student computers and the teachers are pretty tired of having to explain to skip the Apple ID and start using the Mac prompts. I'd like to get rid of this setup window at first login and I have tried several things to no avail:

I did all of the things in this post:

https://jamfnation.jamfsoftware.com/discussion.html?id=4999

I tried to do an MCX profile from this post with the Managed Preferences tool in the JSS and using the settings outlined here by Greg Neagle:

http://managingosx.wordpress.com/2012/07/26/mountain-lion-suppress-apple-id-icloud-prompt/

but I'm still getting the login prompt. Then I started digging through core services and I noticed that the "Setup Assistant" plist isn't in Core Services. In the Setup Assistant App Contents I found a plist in the resources folder called:

com.apple.macbuddy.icloud.user

Inside of this plist are two strings. The first is "LaunchOnlyOnce" and the other is "RunAtLoad" Both values are defaulted to true. I tried to change the value to false for RunAtLoad manually, and that didn't work. Then I tried to create an MCX setting to set both of the strings as a false value and that didn't work either.

Any ideas on what I can try next?

1 ACCEPTED SOLUTION

blackholemac
Valued Contributor III

For whatever reason, I had previously chosen not to go the MCX method...I'm guessing it has something to do with me wanting to manage 10.7 and 10.8 with profiles and only use MCX for 10.6, but anyway, I built a DMG package that will suppress the Setup Assistant (at least as of 10.8.3).

To do that...what I did was to craft a plist file named com.apple.SetupAssistant.plist with the following:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>DidSeeCloudSetup</key>
    <true/>
    <key>LastSeenCloudProductVersion</key>
    <string>10.8.2</string>
</dict>
</plist>

Once you have the plist created, you then have to make sure that the plist gets down to the User Template under preferences. Casper handles that with the "fill user template" option. You could also copy it to existing users, but I'm guessing if a user has already logged in that this step would not be needed. I'd be happy to help more if you have questions on this method. I'm guessing the MCX method would have been fine as well...not necessarily knocking it...I just wanted to avoid using MCX.

View solution in original post

7 REPLIES 7

cbrewer
Valued Contributor II

I'm setting this via Casper Managed Preferences (MCX) and it's working well. See the following...

https://jamfnation.jamfsoftware.com/discussion.html?id=4920

blackholemac
Valued Contributor III

For whatever reason, I had previously chosen not to go the MCX method...I'm guessing it has something to do with me wanting to manage 10.7 and 10.8 with profiles and only use MCX for 10.6, but anyway, I built a DMG package that will suppress the Setup Assistant (at least as of 10.8.3).

To do that...what I did was to craft a plist file named com.apple.SetupAssistant.plist with the following:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>DidSeeCloudSetup</key>
    <true/>
    <key>LastSeenCloudProductVersion</key>
    <string>10.8.2</string>
</dict>
</plist>

Once you have the plist created, you then have to make sure that the plist gets down to the User Template under preferences. Casper handles that with the "fill user template" option. You could also copy it to existing users, but I'm guessing if a user has already logged in that this step would not be needed. I'd be happy to help more if you have questions on this method. I'm guessing the MCX method would have been fine as well...not necessarily knocking it...I just wanted to avoid using MCX.

jshipman
New Contributor III

Thanks blackholemac!!!! That was super useful!

maxbehr
Contributor II

I was never able to get the MCX route to work with my machines. Instead I have a script that runs on startup to move /System/Library/Core Services/Setup Assistant.app/Contents/Shared Support/MiniLauncher to MiniLaucher.old. MiniLanuncher being that actual application that shows the iCloud login screen.

dgreening
Valued Contributor II

Beware the MiniLauncher rename hack. I applied it to 10.8.2 machines, and it promptly broke Setup Assistant after an update to 10.8.3. I was seeing a gray screen after login, which was caused by Setup Assistant crashing. I had to load in a fresh copy of the Setup Assistant to bring back normal functionality.

Kumarasinghe
Valued Contributor

Also you can run this Post Image script at imaging time.
Script Priority: At Reboot

# Disables Apple ID pop-up on first login for Macs running OS X 10.8.x
# Apple ID setup pop-up in OS X 10.8 for new users by setting com.apple.SetupAssistant in
# /System/Library/User Template/Non_localized/Library/Preferences/ 
# to include the key "DidSeeCloudSetup" with a Boolean value of TRUE and LastSeenCloudProductVersion with OS version
#

osver=`sw_vers -productVersion`

/usr/bin/defaults write /System/Library/User Template/Non_localized/Library/Preferences/com.apple.SetupAssistant DidSeeCloudSetup -bool TRUE
/usr/bin/defaults write /System/Library/User Template/Non_localized/Library/Preferences/com.apple.SetupAssistant LastSeenCloudProductVersion $osver

exit 0

maxbehr
Contributor II

Interesting…I had no issue with the MiniLauncher move when I upgraded to 10.8.3. Here is the code I use:

#!/bin/bash
if [ -f /System/Library/CoreServices/Setup Assistant.app/Contents/SharedSupport/MiniLauncher ]; then
mv /System/Library/CoreServices/Setup Assistant.app/Contents/SharedSupport/MiniLauncher /System/Library/CoreServices/Setup Assistant.app/Contents/SharedSupport/MiniLauncher.old
fi