Universal bundle should be used when the application is supposed to be tested on iOS device and simulator (it contains binaries for both ARM and x86/x86_64 architectures). When application is built using this version, it will be rejected by App Store.
ARM version should be used when the application is tested on iOS device only (not on simulator). This version should be used to build the application before uploading it into the App Store.
Universal bundle should be used when the application is supposed to be tested on iOS device and simulator (it contains binaries for both ARM and x86/x86_64 architectures). When application is built using this version, it will be rejected by App Store.
ARM version should be used when the application is tested on iOS device only (not on simulator). This version should be used to build the application before uploading it into the App Store.