App Thinning: roles of Slicing and Bitcode in creating app bundle variants

Originator:mp
Number:rdar://30011601 Date Originated:13.01.2017
Status:Open Resolved:
Product:Documentation Product Version:
Classification:Enhancement Reproducible:Always
 
Summary:
Documentation is not clear about participating Slicing and Bitcode in the process creating app bundle variants. It is not obvious, if developer need to enable Bitcode in his project to make the app include only necessary variants on user devices, especially regarding architecture executables.

Steps to Reproduce:
1. Open App Thinning chapter from App Distribution Guide https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html
2. See this statement: 
"Slicing is the process of creating and delivering variants of the app bundle for different target devices. A variant contains only the executable architecture and resources that are needed for the target device."
3. Open New Features in Xcode 7 https://developer.apple.com/library/prerelease/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_7_0.html#//apple_ref/doc/uid/TP40015242-SW1
4. See these statements: 
"Bitcode. When you archive for submission to the App Store, Xcode compiles your app into an intermediate representation. The App Store then compiles the bitcode down into the 64- or 32-bit executables as necessary.
Slicing. Your artwork incorporated into the asset catalog can be tagged to indicate its suitability for the device that is targeted for installation when a user purchases and downloads your app into his or her device. Xcode supports organizing and tagging in the asset catalog so that the App Store can perform the slicing operation automatically. End users get just the resources needed for their device."

Expected Results:
Documentation explicitly says what Slicing and Bitcode are responsible for, in reducing final application size.

Actual Results:
Documentation say opposite things about what Slicing and Bitcode are responsible for, in reducing final application size.

Version:


Notes:
There is a lot of misconception in developer's minds, because of this unclarity in the documentation, different answers provide opposite information about the subject:
http://stackoverflow.com/questions/30722606/what-does-enable-bitcode-do-in-xcode-7

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!