All I really wanted to do was check the size of the iTunes 10.7 update for the TidBITS Watchlist item that I was editing, but the App Store app wasn’t cooperating. (For those who haven’t run into this in OS X 10.8 Mountain Lion yet, choosing Software Update from the Apple menu no longer runs a separate Software Update application; instead, App Store launches and shows the Updates screen.) Instead of giving me the iTunes update, or even a sensible error message, the App Store app displayed the thoroughly inscrutable message “The operation couldn’t be completed. (NSURLErrorDomain error -1100.)” As far as I can tell from Apple’s developer documentation, this basically means that some requested file doesn’t exist.
After moaning about Apple’s uncharacteristically poor error message on Twitter, I got a note from Dennis Wurster, a friend and Mac consultant in Rochester, NY, saying that he’d solved the problem by switching his DNS settings to use Google’s public DNS servers (18.104.22.168 and 22.214.171.124). I’ve been using OpenDNS’s servers (126.96.36.199 and 188.8.131.52) for some time now with no problems (for a reason why, see “OpenDNS Blocks Flashback and Other Threats,” 16 May 2012), but when I changed the order of my DNS servers in the Network preference pane (select your current network adapter, click Advanced, then click DNS) to put Google’s public DNS servers at the top, the App Store app was able to find and download the update with no problem. To avoid pointing the finger of blame too specifically, the problem was not related to using OpenDNS servers, since others reported experiencing it with other DNS servers as well.
Other people have had success with this trick as well, and Kevin Bush reported back to me on Twitter that when he switched back to his previous DNS servers after the App Store app found the iTunes 10.7 update, it could still see it (perhaps due to caching) but couldn’t download it. In the comments, Mike Polinske also reported that he had success with flushing the DNS cache manually using this Terminal command:
sudo killall -HUP mDNSResponder
In the end, I’m still quite uncertain as to how DNS is related to this problem, but I hope that switching DNS servers or flushing the DNS cache resolves it for anyone else experiencing it.