How do I properly force osx to reload the Info.plist file of an application?

On Yosemite 10.10, I was trying to use defaults to modify the Info.plist file of an app, but after such command, osx does not reload modified Info.plist.

I've tried to move the app around and reboot, as mentioned somewhere else as a way to force osx to reload Info.plist, but failed.

So here's the problem, How do I force osx to reload the Info.plist file of an app?


Specifically here is what I want to achieve:

Currently the flash in Firefox runs in low resolution when in fullscreen mode, to fix this I need to make the Firefox.app/Contents/MacOS/plugin-container.app HiDPI compatible.

According to this, after this command:

defaults write /Application/Firefox/Contents/MacOS/plugin-container.app/Contents/Info.plist NSHighResolutionCapable true

I should be able to uncheck the "Open in Low Resolution" checkbox. But no, modifed plugin-container.app still has a greyed-out checkbox in its info panel. Rebooting does not solve the problem.

Here's the weird part: I moved the modified plugin-container.app to somewhere else, then I was able to uncheck that checkbox. But I moved it back and that checkbox became greyed-out again.

An work-around I found is

  • copy another app to /Application/Firefox/Contents/MacOS/ and renamed it to plugin-container.app (I call this the "fake plugin-container.app"),
  • then replace fake one with the modified one.

In this way I can have the "Open in Low Resolution" checkbox back and am able to uncheck it, but system doesn't update the app icon after replacing, so now the app icon of the modified plugin-container.app is still the one of the fake plugin-container.app. A problem is fixed but another is created.

So what is the proper way to have the system reload the Info.plist?


I've just had this issue as we had to change Info.plist in our app and it failed to run for anyone who updated from the previous version of the app. The easiest way I found of clearing the Info.plist cache was simply to move the file to a different directory, then move it back. I'm still hoping to find a way of doing it pro grammatically, but this should do for your case.