Block iOS app updates without jailbreaking

Media player apps on the iOS platform are being targeted by Dolby for patent licensing issues and are forced to remove support for AC3/E-ACE/TrueHD(MLP) audio decoding. This causes many files to playback without audio unless they are re-encoded. Users of the apps have been complaining (to deaf ears I suppose) because if they updated the app without keeping a backup copy, there is no way to return to the older version without jailbreaking and downloading a cracked app.

If you are the lucky ones that still have older versions of the apps on your device that still decode Dolby audio, then comes the dilemma of the various update notifications in the appstore. Because of these apps requiring update you can't just tap on the [Update All] button at the top but must go thru them one-by-one. If you have JB'd your device you can install from the cydia appstore something like Update Hider, OTA Begone or No Appstore Badges to disable the updates.

For those still on un-JBd iOS devices there is another way to do it without having to JB. You need a desktop PC/workstation and download and runiFunBox for the platform (Mac/Windows only). Navigate to the classic tab on the top and locate your application's sandbox folder. On the right-panel, locate the iTunesMetadata.plist file. Then there are two ways to disable the updates from appearing in the appstore. First is just to delete the entire iTunesMetadata.plist file. The app will still continue to work but will NEVER update because when the update page is selected in the appstore, no metadata for that particular app will be sent to check for updates. Problem with this method is that if you sync with iTunes on your desktop often, it will create a error message prompt. You can ignore this message because it is mostly complaining that it cannot sync the app properly to create a backup copy with your desktop or iCloud - all other apps and content will sync normally. If you never sync using iTunes you will not get any error messages.
The second method is to copy the iTunesMetadata.plist file onto your desktop and open the file for editing in your favourite text editor (e.g. notepad, notepad++ etc). Locate the fields for softwareVersionExternalIdentifier and softwareVersionExternalIdentifiers which are usually near the bottom. Delete those keys and the associated values immediately after (usually between an <integer>XXXX</integer> for the external and <array>XXX</array> for the internal) Save the file and copy back into the app sandbox overwriting the existing file. Now if you reopen the appstore the update would be gone but the apps still works the same and you can safely do an [Update All] in the appstore and the other apps remain unupdated forever. In some cases, I had to delete the softwareversionBundleId too .... YMMV, so do a backup before attempting.
..... Show/hide full post
DISCLOSURE WARNING! I do not provide any guarantees that this will work on your iOS device although they have been tested to work on an iPad 2 and 3. Any results from attempting these steps are your own consequences and I will NOT bear any responsibility for any harm/error/crashes/failures/corruption/death/injury caused to yourself or your device.

No comments:

Post a Comment