Below are solutions to common issues encountered when building an iOS app with Xcode 7.1 and targeting iOS 9.
1. CFBundleExecutable Key Duplication
If your app includes the GooglePlus.bundle
and the CFBundleExecutable
key is present in its Info.plist
, you may encounter the following error during binary upload:
Error:ITMS-90535: "Unexpected CFBundleExecutable Key. The bundle at 'GooglePlus.bundle' does not contain a bundle executable..."
Solution:
- Navigate to
GooglePlus.bundle
. - Open the
Info.plist
file and remove theCFBundleExecutable
key. - Check inside
GooglePlus.bundle
for any sub-bundles with their ownInfo.plist
files and repeat this process for those files as well.
If the bundle is part of a third-party framework, contact the framework's developer for an updated version.
2. App Transport Security (ATS) Configuration
iOS 9 introduced App Transport Security (ATS), which enforces stricter network security policies. This may block certain network requests by default.
Steps to Configure ATS:
Open your app's
Info.plist
.Add the following keys to bypass ATS globally:
This setting allows all network requests. Use it cautiously, as it disables ATS protections globally.
If you need to define exceptions for specific domains:
Important Note: If you set NSAllowsArbitraryLoads
to true
, ensure all domains in NSExceptionDomains
are explicitly configured to avoid unintended default behavior.
3. Disabling iPad Multitasking
For iPad apps that do not support multitasking, you must disable this feature. Failure to do so will result in warnings during binary upload.
Option 1: Through Xcode
- Go to the General tab of your app target.
- Check the Requires full screen option.
Option 2: Modify Info.plist
Add the following key-value pair to disable multitasking programmatically:
By following these steps, you can address the common build and submission issues encountered with Xcode 7.1 and iOS 9.