Easy beta enrollment for Catalina and Mojave (no Apple ID required)

bogdanw

macrumors 6502
Original poster
Mar 10, 2009
289
176
Here is a simple AppleScript that provides easy enrollment into Catalina or Mojave beta.
Code:
set question to display dialog "Would you like to enroll in" buttons {"Mojave Beta", "Catalina Beta", "Restore default"} default button 3
set answer to button returned of question
if answer is equal to "Mojave Beta" then
    set question to display dialog "Please choose" buttons {"Mojave Public Beta", "Mojave Dev Beta"} default button 1
    set answer to button returned of question
    if answer is equal to "Mojave Public Beta" then
        try
            do shell script "rm /Users/Shared/.SeedEnrollment.plist" with administrator privileges
        on error --do nothing
        end try
        do shell script "sudo /usr/sbin/softwareupdate --set-catalog https://swscan.apple.com/content/catalogs/others/index-10.14beta-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" with administrator privileges
        do shell script "/usr/libexec/PlistBuddy -c save /Users/Shared/.SeedEnrollment.plist"
        do shell script "/usr/libexec/PlistBuddy -c 'Add SeedProgram string PublicSeed' /Users/Shared/.SeedEnrollment.plist"
    end if
    if answer is equal to "Mojave Dev Beta" then
        try
            do shell script "rm /Users/Shared/.SeedEnrollment.plist" with administrator privileges
        on error --do nothing
        end try
        do shell script "sudo /usr/sbin/softwareupdate --set-catalog https://swscan.apple.com/content/catalogs/others/index-10.14seed-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" with administrator privileges
        do shell script "/usr/libexec/PlistBuddy -c save /Users/Shared/.SeedEnrollment.plist"
        do shell script "/usr/libexec/PlistBuddy -c 'Add SeedProgram string DeveloperSeed' /Users/Shared/.SeedEnrollment.plist"
    end if
end if
if answer is equal to "Catalina Beta" then
    set question to display dialog "Please choose" buttons {"Catalina Public Beta", "Catalina Dev Beta"} default button 1
    set answer to button returned of question
    if answer is equal to "Catalina Public Beta" then
        try
            do shell script "rm /Users/Shared/.SeedEnrollment.plist" with administrator privileges
        on error --do nothing
        end try
        do shell script "sudo /usr/sbin/softwareupdate --set-catalog https://swscan.apple.com/content/catalogs/others/index-10.15beta-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" with administrator privileges
        do shell script "/usr/libexec/PlistBuddy -c save /Users/Shared/.SeedEnrollment.plist"
        do shell script "/usr/libexec/PlistBuddy -c 'Add SeedProgram string PublicSeed' /Users/Shared/.SeedEnrollment.plist"
    end if
    if answer is equal to "Catalina Dev Beta" then
        try
            do shell script "rm /Users/Shared/.SeedEnrollment.plist" with administrator privileges
        on error --do nothing
        end try
        do shell script "sudo /usr/sbin/softwareupdate --set-catalog https://swscan.apple.com/content/catalogs/others/index-10.15seed-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz" with administrator privileges
        do shell script "/usr/libexec/PlistBuddy -c save /Users/Shared/.SeedEnrollment.plist"
        do shell script "/usr/libexec/PlistBuddy -c 'Add SeedProgram string DeveloperSeed' /Users/Shared/.SeedEnrollment.plist"
    end if
end if
if answer is equal to "Restore default" then
    do shell script "sudo softwareupdate --clear-catalog" with administrator privileges
    try
        do shell script "rm /Users/Shared/.SeedEnrollment.plist" with administrator privileges
    on error --do nothing
    end try
end if
tell application "System Preferences"
    activate
    set the current pane to pane id "com.apple.preferences.softwareupdate"
end tell
The script offers the following options: Catalina Public Beta, Catalina Developer Beta, Mojave Public Beta, Mojave Developer Beta and Restore default (Apple production)
 
Last edited:

Fishrrman

macrumors P6
Feb 20, 2009
17,209
5,554
There used to be a terminal command to enable beta downloads without actual "enrollment in the program", but I'm not sure if it works any more...
 

chrfr

macrumors G3
Jul 11, 2009
8,198
2,526
There used to be a terminal command to enable beta downloads without actual "enrollment in the program", but I'm not sure if it works any more...
That's the above "seedutil" command. Still works fine, and it's what enrolling in the program is actually doing on the computer.
 

KibJ

macrumors newbie
Jan 20, 2019
14
3
Would this allow developer betas without having a developer account?
 

bogdanw

macrumors 6502
Original poster
Mar 10, 2009
289
176

aevan

macrumors 68040
Feb 5, 2015
3,123
3,997
Serbia
I tried the script from first post.... I am on PB, wanted to switch do DP. Anyway, it opened Software Update and then offered Public Beta 2 (instead of DP version). Not kidding. Installed it, the number is 19A501i

Not sure what happened. Perhaps PB2 is incoming, and this got access to it?
 

bogdanw

macrumors 6502
Original poster
Mar 10, 2009
289
176
Not sure what happened. Perhaps PB2 is incoming, and this got access to it?
I did the same, switched from Public to Developer, and got the same Public Beta 2.
pb2.jpg

It's just mislabeled by Apple.

dev3.jpg