Recently I found myself in a bind: the Mac App Store app on my Retina MacBook would launch, but would not show me anything except a little spinning circle near the top-left corner. I left it like that overnight and when I came back the next morning it was still spinning. Fixing it was tricky, even for an experienced Mac user like myself, so I thought I’d share what worked for me in case you ever find yourself in that situation.
First I tried to think what a non-“power user” would try to do in that situation, and came up with basically two ideas:
- Quit the app and try again.
- Reboot the computer.
Neither of those did anything to fix it, so I moved on to more advanced ideas.
My next go-to app in situations like this is AppZapper. It’s $13 and well worth the price for situations like this. (You may have a license from an “app bundle” -- I think that is where I first learned about it.)
After un-checking the preference for “Keep Apple applications safe” I dragged the App Store.app icon to the AppZapper window and un-checked the first box next to the app itself since I didn’t want to try to delete the app, just its various preference files.
Tip: If you control-click on the items in the App Zapper window, it will offer to show the selected item in the Finder, so you can be sure what it will remove. In this case, it showed that it would remove these folders/files:
- /Library/Application Support/App Store
- ~/Library/Application Support/App Store
Unfortunately that didn’t help either.
I know the Terminal.app scares some people, but the good news is that System Integrity Protection means that it is much harder to do catastrophic damage in Terminal, even if you make a mistake. (Plus, you have good backups, right? Right?)
In this case, we are going to enter a very simple command. Make sure the Mac App Store app is not running and then copy/paste the line into Terminal:
defaults write com.apple.appstore ShowDebugMenu -bool true
To make sure it worked, copy/paste this line:
defaults read com.apple.appstore ShowDebugMenu
and you should get "
1" (one) as a response. Once you do that, you can quit Terminal.app and re-launch the App Store app.
Mac App Store Debug Menu
First discovered by Daniel Jalkut, the developer behind Red Sweater Software (Mars Edit, BlackInk, FastScripts, and more), the Mac App Store’s debug menu gives you some nifty features, but the one we are interested in today is “Show Download Folder”:
That folder can be in different places, depending on… well, actually, I have no idea, but the menu item for “Show Download Folder” show me a folder at:
however yours may be different. That's why you want to use the menu item.
Once you see that folder in the Finder:
- Quit the Mac App Store app
- Drag the downloads folder to the trash
- Empty the trash
- Reboot your Mac
The 4th step is crucial. I had done the first 3 but did not reboot and the app still did not work properly. (Remember when Mac users used to be able to make fun of Windows users for having to reboot to fix problems? Good times.)
That was what finally fixed the problem for me. The next time I launched the App Store app, it loaded almost immediately.
It Shouldn’t Be Like This.
There’s no way most casual OS X users are going to know to try these steps, nor should they need to. This is the sort of thing that, I assume, makes users who prefer iOS over OS X point and say “See! This is what I don’t want to have to deal with!”
This is also yet another problem with Mac software that will never show up in crash logs, because the app never crashed, but that didn’t mean it wasn’t broken. I hope Apple is more aware of this type of problem than they sometimes appear to be.
But until the world is how we wish it would be, we have to figure out how to make do with it as it is. My hope is that someone having this issue may find this page via Google, etc. and be able to get back to work.
My thanks to Kyle Demilo aka @macfixer for his help solving this mystery, and clearly living up to his Twitter name.
Update: I have had this happen enough times that I made a shell script to somewhat automate the process. You can find it at GitHub or, if you are very trusting and in a rush, just run this line in Terminal.app:
zsh -c "$(curl -sL http://luo.ma/rasa.sh)"