Building iOS app with SAB is fine. But during uploading with Application Loader.
Here are the error message while uploading with Application Loader:
ERROR ITMS-90035: "Invalid Signature. Invalid Info.plist (plist or signature have been modified). The file at path [some_example_Bible-1.1.app/TemplateApp] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html"
ERROR ITMS-90159: "Invalid provisioning profile. This app contains an embedded provisioning profile that is not associated with your account. Please use a provisioning profile associated with Team ID A0000BCD0."
ERROR ITMS-90046: "Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, value '3YE4W86L3G.org.sil.TemplateApp' for key 'application-identifier' in 'Payload/some_example_Bible-1.1.app/TemplateApp' is not supported. This value should be a string starting with your TEAMID, followed by a dot '.', followed by the bundle identifier."
ERROR ITMS-90334: "Invalid Code Signature Identifier. The identifier "org.sil.TemplateApp" in your code signature for "TemplateApp" must match its Bundle Identifier "org.name.somebible""
org.name.somebible is an example package name of my app.
Team ID A0000BCD0 is an example team id of my app.
I signed with distribution certificate.
There are no duplicate certificate in Keychain Access.
There are no expired old certificate in Keychain Access.
I attached provisioning profile with associated Team ID / App ID.
I used no expired old profile.