The download manager of App Store application seems does not allow resumption of interrupted download of macOS installer. If you have a very slow internet connection or it disconnect for a while, the download will fail due to connection timed out and the downloading of macOS installer will not resume and it also does not provide a "resume" button to continue the download. You will need to restart the update and the download will begin from zero percent again. This is frustrating for Mac users who do not have fast internet every time they update their macOS. This article will show a workaround to install genuine macOS by downloading the package files directly from Apple server using your favorite reliable download manager application and install it from your local Mac machine.
- Step 1
We need to know the request URL of App Store application when it downloads the installer. Open your Terminal and execute the following command:
sudo tcpdump -i any -vvAtp | egrep -i "POST /|GET /|Host:"
The command above will listen to get get the info about activity of network traffic from your local machine.
- Step 2
Open your web browser and go to the page of the macOS new major release Apple web site. Click the "View in Mac App Store" and then "Open App Store" button:
... this will open your App Store application. Now click the "Download" button:
- Step 3
Go to your Terminal to check the command we have executed earlier that listens to network traffic. You should see something like this:
Host: swcdn.apple.com <..i. http="">
We can deduce that the request URL of App Store application made is
swcdn.apple.com/content/downloads/43/16/071-78704-A_U5B3K7DQY9/cj9xbdobsdoe67yq9e1w2x0cafwjk8ofkr/InstallAssistant.pkg. Now use the URL that we got in your favorite download manager to download it.
- Step 4
After the download of the package is finished, we will configure your local machine to redirect the App Store application to download the macOS package installer from the Apple server to your local Mac machine. Open a new Terminal session and execute the following command:
sudo vi /etc/hosts
Append the following line and save the
To make sure the changes will take effect, flush the DNS cache by executing the following command:
sudo killall -HUP mDNSResponder
Let's create the path in your chosen root web server directory (let's use
/var/www) where the App Store application will look for:
sudo mkdir -p /var/www/content/downloads/43/16/071-78704-A_U5B3K7DQY9/cj9xbdobsdoe67yq9e1w2x0cafwjk8ofkr
Copy the downloaded package installer to the created path:
cp InstallAssistant.pkg /var/www/content/downloads/43/16/071-78704-A_U5B3K7DQY9/cj9xbdobsdoe67yq9e1w2x0cafwjk8ofkr
Go to your root web server directory:
Start the web server service:
sudo python -m SimpleHTTPServer 80
- Step 5
Follow the instructions in Step 2 only. If the App Store application will look for another file to download, message output will appear on the Terminal where we executed to run the web server service. The message will show that a file was not found, something like this:
Serving HTTP on 0.0.0.0 port 80 ... 127.0.0.1 - - [28/Jul/2021 03:26:48] code 404, message File not found 127.0.0.1 - - [28/Jul/2021 03:26:48] "GET /content/downloads/43/16/071-78704-A_U5B3K7DQY9/cj9xbdobsdoe67yq9e1w2x0cafwjk8ofkr/InstallAssistant.pkg.integrityDataV1 HTTP/1.1" 404 -
The message suggest that
InstallAssistant.pkg.integrityDataV1was not found in our local machine and we need to download that file in Apple server at
http://swcdn.apple.com/content/downloads/43/16/071-78704-A_U5B3K7DQY9/cj9xbdobsdoe67yq9e1w2x0cafwjk8ofkr/InstallAssistant.pkg.integrityDataV1using your favorite download manager. After the download is finished, go to your Terminal and copy the downloaded file to the download path:
cp InstallAssistant.pkg.integrityDataV1 /var/www/content/downloads/43/16/071-78704-A_U5B3K7DQY9/cj9xbdobsdoe67yq9e1w2x0cafwjk8ofkr
Follow the instructions again in Step 2 only.
- Step 6
If the App Store application will not look for more files to download, comment or remove the
127.0.0.1 swcdn.apple.comin your
/etc/hostsfile before you proceed with the installation:
sudo vi /etc/hosts
Save the file and you can now proceed with the installation of the new major release of macOS.