As users of our HeadsUp Agile platform (and other tools that compile iOS app for delivery over the air (OTA)) may have noticed there have been some issues with delivering apps on Apple's latest release of their mobile operating system. This typically manifests as an error message such as "Unable to download app" popping up when you tap an "install" button.
These issues have since been resolved and a new version of HeadsUp Agile was released to all customers. As this was a difficult problem to track down we wanted to post some technical details that might be of interest to others working in this area.
There were actually two problems with distributing to iOS9 devices and both must be addressed to allow OTA app delivery.
The BundleID workaround that was required to get apps installed on iOS8 devices that had been upgraded from iOS7 broke iOS9 and must be reverted. To support both version 8 and 9 your delivery platform will need to use a more dynamic delivery whereby it can provide the workaround where an iOS8 client device is detected.
The requirements of the zipped .ipa file changed. Apple now "peek" into the file in a way that requires the oldest version of the zip format. If you examine your .ipa file (I.e. Using "#file my.ipa") and see that it requires v2.0 or later to extract ("Zip archive data, at least v2.0 to extract", for example) you need to go with a backwards compatible zip tool. At time of writing both the command line zip binary on OSX as well as the commons-compression java library work fine but the Java built in zip compression does not.
Hopefully this information is useful to someone. Thanks to all our customers for their patience as we worked to resolve the issue.