Since iOS9 and Xcode 7 final were released, apps built with UnrealEngine 4.9.1 cannot be uploaded to iTunesConnect or TestFlight.
The first error you’ll encounter is:
1 package(s) were not uploaded because they had problems:
/var/folders/5h/w09yr4wx40g2fgnj1cnqxypc0000gn/T/479C7B49-0CB9-4659-A284-5FFD685AF90A/1021672195.itmsp - Error Messages:
ERROR ITMS-90474: "Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. Found 'UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight' in bundle 'com.martiancraft.columbus'."
ERROR ITMS-90475: "Invalid Bundle. iPad Multitasking support requires launch story board in bundle 'com.martiancraft.columbus'."
ERROR ITMS-90339: "This bundle is invalid. The Info.plist contains an invalid key 'CFBundleResourceSpecification' in bundle NinjaUE4 [NinjaUE4.app]”
This one is relatively easy to work around. If you add the following to the Additional Plist Items in your Project Settings under iOS:
<key>UIRequiresFullScreen</key> <string>YES</string>
, it will prevent the server-side checks from doing the startup storyboard and orientation checks, though it will prevent your app from working in the new split screen mode. For games, I doubt that’ll be much of an issue, though.
Unfortunately, getting past that check isn’t the end of it. You’ll still continue to get
ERROR ITMS-90339: "This bundle is invalid. The Info.plist contains an invalid key 'CFBundleResourceSpecification' in bundle NinjaUE4 [NinjaUE4.app]”
This is an Info.plist key that’s been deprecated for quite some time, but Apple only just now started enforcing it. Searching through the engine code, CFBundleResourceSpecification only exists in one file: CodeSigning.cs which is part of the iPhonePackager. I’ve tried commenting out the code that adds the key, but the generated apps seem to still have the CFBundleResourceSpecification key, so are rejected when you upload to iTC.
If anyone has any ideas about how to resolve this, I’d appreciate hearing them. We haven’t been able to deliver our weekly test builds because of this problem.