It has to do with App Thinning. Basically decreasing the size that your app takes up on a users device. It does this by only installing resources the device needs. 

For instance if a device doesn't support @3x than all it needs are @2x images. If a device isn't running 64 bit than all it needs is 32 bit code.

> Xcode introduces support for App Thinning: three complementary
> technologies which deliver an optimized installation automatically.
> 
> Bitcode. Archive for submission to the App Store in an intermediate
> representation, which is compiled to the executable for installation
> on each device. (18168642) Xcode 7 has a ENABLE_BITCODE option to
> embed bitcode in apps, app extensions, and frameworks. The option is
> turned on by default for iOS and is mandatory for watchOS projects
> submitted to the store.
> 
> When bitcode is enabled for a target, all the objects, static
> libraries and user frameworks used when linking that target must
> contain bitcode. Otherwise, an error or a warning will be issued by
> the linker. (Note: missing bitcode is currently a warning for iOS, but
> it will become an error in an upcoming beta release of Xcode 7.)
> ENABLE_BITCODE should be consistently turned on for all the targets.
> If you use a library or framework provided by a third party, please
> contact the vendor for an updated version which contains bitcode.

.


> The App Store will create and deliver different variants based on the
> devices your app supports. **Image resources are sliced according to
> their resolution and device family.** GPU resources are sliced according
> to device capabilities. When the user installs an app, a variant for
> the user’s device is downloaded and installed.