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.plistfile and remove theCFBundleExecutablekey. - Check inside
GooglePlus.bundlefor any sub-bundles with their ownInfo.plistfiles 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.