Download

Error Publishing to App Store with ios11 and XCode 9 Beta 6 for Testflight

In Unity I could sign and build an app in the App Loader with ios11 beta 5. But on Unreal I can build and package the ipa but submit the app but it throws this error:

ERROR ITMS-90534: “Invalid Toolchain. New apps and app updates must be built with the public (GM) versions of Xcode 6 or later, macOS, and iOS SDK or later. Don’t submit apps built with beta software including beta macOS builds.”
INFO ITMS-90111: “Beta Toolchain. This app has been built using beta toolchains. Apps built with beta toolchains are acceptable for TestFlight submission. Note that you will not be able to submit these builds for sale on the App Store.”

All the signing stuff is correct. I can verify that with same certificate on Unity.

The key difference seems that Unity makes an archive then the Application loader signs it and generates the IPA. Unreal uses the toolchain to sign the IPA directly.

Note the two warnings contradict in the second seems to say it is ok as long as it doesn’t go for sale, but the first makes it a fatal error.

Anyone push to testflight with ios 11 and Unreal?

After hours of struggling with this for hours we got it to build to iOS. It was a combination of making sure the Deployment button was checked then rebuilding all clean as well as 10 other steps I forget. But after all that once the package was successfully uploaded we got:

Missing Info.plist value - A value for the Info.plist key CFBundleIconName is missing in the bundle. Apps that provide icons in the asset catalog must also provide this Info.plist key. For more information see http://help.apple.com/xcode/mac/current/#/dev10510b1f7.
Once these issues have been corrected, you can then redeliver the corrected binary.

This appears caused by Unreal putting an “Icon Files (ios5)” key in the plist but not a plain “Icon Files” one. So we added that key to the additional PLIST data and are trying that.

I can’t believe how hard it is to push to app store for Unreal compared to Unity. Already spent more than 6 hours on it.

Well that wasn’t it either. I manually added the Icon Bundle Name “Icon Name” to the plist also and verified it is in the IPA that was packaged up. Nothing.

Still getting:
CFBundleIconName is missing in the bundle

These are the custom items I added to the plist. I verified they are in the packed plist.


<key>CFBundleIconFiles</key>
<array>
<string>Icon29.png</string>
<string>Icon29@2x.png</string>
<string>Icon40.png</string>
<string>Icon40@2x.png</string>
<string>Icon57.png</string>
<string>Icon57@2x.png</string>
<string>Icon60@2x.png</string>
<string>Icon60@3x.png</string>
</array>
<key>CFBundleIconName</key>
<string>PROJECTNAME</string>


iOS dev is such a joy…

Interesting that you can upload a build to Testflight with Unity. I figured it was a limitation of the Xcode beta and stopped trying. I got as far as modifying UBT to generate asset catalogs, but never could get iTunes Connect to recognize my marketing icon. See here: Missing Asset Catalog - Cannot distribute app - iOS Development - Unreal Engine Forums

Epic seems to have a fix scheduled for 4.18, according to this: Missing Asset Catalog Assets.car iOS 11 Distribution or TestFlight - UE4 AnswerHub

Oh god… I hope all TestFlight/AppStore compatibility issues will be fixed in 4.17.X not in 4.18 because if not we’ll miss iOS 11 launch :frowning:

I am told that there is a CL on the Epic dev line that fixes it CL3610979.

I am going to try and integrate that and see if it fixes the problem.

Do you know where to find commit for CL3610979? Not found at github.

Are there any updates on this? I get same error with Xcode 9 GM, which suppose to be OK to submit apps.

Fixed in the 4.17 branch. Will be in 4.17.2

works in 4.17.2 ? i miss something? i still having problems to upload to TestFlight, i have this errors (in application loader) and this strings in pfile.list . Anybody can help?

I figured out and do a workaround to fix the missing code and the icons. In other post I explain better. I open the plist file, copy the code which works , add the files , re-sign the .app using the terminal with the text in the log file, and recreate the ipa file. And I upload the project exported from 4.17.3 and 4.18. I hope this help you