A while back I wrote up a blog post on deploying the Install macOS Big Sur application. As one of the solutions, I posted a script (based on Greg Neagle’s installinstallmacos.py) which listed the pkgs from Apple’s software update catalogs so you could download them.
During and after WWDC, I wanted to see if I could build a SwiftUI app. I thought that building a user interface for this task would be a nice practice project.
Ironically, since I want the app to work on Big Sur, I could not use any of the new Swift and SwiftUI features Apple introduced this year. Even so, since I had not used SwiftUI to build a Big Sur application, most of the features Apple introduced last year were still new to me.
It was often unexpected to me which parts turned out to be challenging and which parts were really easy to implement. For example, implementing a preferences window, turned out to be super-easy, but it took me two false-starts to find the correct approach. Communicating with the preferences system of macOS is also very easy, but so poorly documented that you are always second guessing if what you are doing is right.
Apple’s documentation for Swift and SwiftUI on this has definite highlights, but is very sparse overall. I am still not sure if some of the decisions I made while putting this together were “good” choices.
Nevertheless, it works! I think it might be a nice tool to have, so I put it on GitHub. You can just download the app from the release page and use it, or clone the repo and take a look at the code.
Constructive feedback is always welcome! I am still learning this as I go along, too.
Nice tool. Thank you for this. Can the swift version used as a command line tool too? Would be nice to use in scripts and benefit from swift coding.
Looks great! Would it be possible to have it able to access .ipsw files as well?
See this comment on Github: https://github.com/scriptingosx/DownloadFullInstaller/issues/2
I use VoiceOver exclusively [no magnifier et cetera]. After activating the mysterious button with the circle arrow label, the app freezes and I must force-quit it. The table of releases is accessible but I cannot do anything with it after activation of the button. I presume that is how to download the respective package.
What is Customer Seed? I know Developer Seed and Public Seed but until this app never known about Customer Seed.
Excellent point. I will look into that!
Nice that you did this but,
I do not see there is anyway to add Newer Macos versions. Do you plan to add this option?
The app reads Apple’s software update catalog feeds. When Apple releases newer versions of macOS, they will appear.
So theoretically when Monterey goes into Public Beta it should show up in the list?
Theoretically, it should show up in the list for the PublicSeed.
I attempted to submit a reproducible crash report but the website returned a 500 internal server error [and did not accept the full log in this texture field]. The page has the e-mail address webmaster@scriptingosx.com which I tried to use but my message was rejected. I can reproduce the crash by activating the circle arrow button and press ⌘w after the window appears with the [useless to VoiceOver] scroll bar control.
Please file reproducible issue on the Github page as an issue.
I found the GitHub page for the script itself but not for the app. Should I open an issue on the page for the script?
https://github.com/scriptingosx/DownloadFullInstaller
Installed DFI then downloaded 11.4 pkg file. Been having a problem with this update since Apple released it. After opening up and installing the 11.4 pkg and installing I rebooted. No update. I’m still using 11.3.1.
Any idea what I could be doing wrong?
Thanks.
The installer the app downloads will not start the upgrade process. It will only install the “Install macOS Big Sur Application” in the /Applications folder. To start the upgrade process, you have to launch that application and go through the dialogs.
Thank you for this. I am looking for an app that can download Big Sur outside the App Store. Quick question, will this resume download incase you loose connectivity or it will start all over again?
No, it does not resume.
Do you have a version that works on Mojave?
No.