Runar Ovesen Hjerpbakk

Programmer. Software Architect. Technical Manager.

ERROR ITMS-90362: Invalid Info.plist value

Book Scanner version 1.7.2 was coded to perfection and ready for shipping. Or so I thought:

ERROR ITMS-90362: “Invalid Info.plist value. The value for the key ‘CFBundleExecutable’ in bundle BookScanneriOS.app/PlugIns/ BookScanneriOSLatestBookExtension.appex is invalid. CFBundleExecutable must match the name of the bundle directory minus its extension.”

Book Scanner contains a Today View widget which shows the latest scanned book. On iOS, such a widget is actually a separate app with its own name and provisioning. And its own rules for correct configuration. Some of these rules have changed over the iOS versions, and this particular app hadn’t been updated for many years. And things had indeed changed.

The original Info.plist looked like this:

This ITMS-90362 error was easy to understand and fix. My CFBundleExecutable name was wrong. Underscores were the way to go before, but now the name must CamelCase only without spaces or special characters. Instead of BookScanner_iOS_LatestBookExtension, BookScanneriOSLatestBookExtension was correct.