iOS 11 - Apple dropping support for 32bit apps

If you are registered with the Apple developer program you may have received the following email.

Dear Developer,

At WWDC 2017, we announced that macOS High Sierra will be the last macOS release to support 32-bit apps without compromise. Support for 32-bit apps is not available in iOS 11 and all 32-bit apps previously installed on a user’s iOS device will not launch.

Download the latest beta versions of iOS 11 and macOS High Sierra, and make sure your apps support 64-bit so users can continue to run your apps on future versions of iOS and macOS. For more information, read the 64-Bit Transition Guide.

View downloads

Best regards,
Apple Developer Relations

What this means is that if your apps is a 32bit app if will no longer launch on iOS 11.

Examples of behaviour are demonstrated here:

You can validate the IPA manually if it is built for 32bit or 64bit architecture by using OSX with Xcode installed.

Here is an example using validation latest version of SecureWeb by Citrix:

  1. Unzip the ipa

    daniil$ unzip SecureWeb-
    Archive: SecureWeb-
    creating: Payload/

  2. Use file command to validate the binary

    file Payload/
    Payload/ Mach-O universal binary with 2 architectures: [arm_v7: Mach-O executable arm_v7] [arm64]
    Payload/ (for architecture armv7): Mach-O executable arm_v7
    Payload/ (for architecture arm64): Mach-O 64-bit executable arm64

As you can see SecureWeb is built for both 32bit and 64bit architectures

Alternatively the lipo command can be used

daniil$ lipo -info Payload/ 
Architectures in the fat file: Payload/ are: armv7 arm64 

This can also be validated from a device via the following screen

Settings -> General -> About -> Applications

Applications listed in this section will not run on iOS 11.

64bit Transition guide available here: