Mac App Store started rejecting updates for some apps. It offers “Update” button, but then rejects updating. The dialog on the image is common if a different Apple ID was used to purchase the app… except if that were the case, it’d be mentioning the exact Apple ID it wants be to update with.
“To update this application, sign in to the account you used to purchase it.”
And, another problem: the apps were used using the only Apple ID I use for App Store purchases.
So far, the only certain recourse was to delete the app and redownload it. If it’s associated with my Apple ID (double-check that it is!) there is no problem — the app will be newly installed and you’re good to go. Updates also only appeared when I checked the “purchases” tab, not when I went to the “updates” tab.
A hacker’s note: The wording of the error is strange. You see, it only mentions an account — which may refer to your local account as much as it can refer to an Apple ID. So I went and played with permissions, changing the permission for “everyone” to “read & write” for the application in question. For a few apps, update then went through. For a few, it didn’t.
The above is, naturally, from the “Get info” dialog on the app.
EDIT Oct 11 2012, 14:36 CET: User nikv has a helpful tip:
This error can happen if Settings -> Spotlight has the Macintosh HD in the Privacy section (not to be indexed). Reason being App Store uses Spotlight. If you don’t do this and Spotlight can index the Apps then it finds the updates and works okay.
EDIT Oct 11 2012, 14:58 CET: Also, while trying to figure out why Spotlight is so slow to starts indexing again on my machine, I found a thread that mentions the problem from my post. Their solution? Delete contents of
/var/folders. Not the
/var/folders directory itself, but its contents.
EDIT Oct 11 2012, 15:30 CET: You may need to restart your machine. (I just quit App Store.app, and killed storeagent process, but your mileage may vary.)
Unrelated but helpful tip:
sudo opensnoop -n processname helps you see filepaths that a process accesses. Useful with