Missing Asset Catalog Assets.car iOS 11 Distribution or TestFlight

Hello zulman,

I’ll be happy to look into this for you. First thing, however, is that 4.17 does not support the version of XCode and iOS that you are using. 4.17 currently supports Xcode 8.3.3 and iOS SDK 10.3.3. Can you try the same process with these versions to see if it may be related to the beta versions themselves?

Another thing to mention, as it is mentioned in that thread, is that the Arkit and the branch associated with it are highly experimental and not intended for development at this stage, as most issues with it are not being fixed at this time.

Edit: From looking at the StackOverflow post that was linked in that forum thread, this also may not be UE4 related. The accepted answer on that thread is “The issue seems to be submitting a binary that was built using a beta version of Xcode. Use a released version of Xcode when submitting builds to the App Store.”

From the information provided, this is particular to iOS 11. From looking at the point that you’re running into this issue, this doesn’t seem to be UE4 related either as people that are developing for iOS outside of UE4 are also experiencing this issue. This seems like an issue that you would need to contact Apple about.

The reason I was saying that is because I was under the impression that this occurred with any iOS app that was created with XCode 9 Beta, not just UE4 apps. The StackOverflow post mentioning these issues led me to believe that as the users are not mentioning using UE4. I’ll look into it, but as this is for a beta version, we may not make any changes until Xcode 9 is officially released and supported.

Awesome, hope you guys will adapt tvOS code for iOS as soon as possible, because we’re in the really unconvinient situation now with ARKit game, we can’t share a press copy before release.

Thank you :slight_smile:

Way to reproduce:

  • Create empty project in Unreal 4.17
  • Build “For Distribution” and sign with distribution certificate with XCode 9 Beta 4+
  • Upload to the AppStore

Result: Rejected, mail from the AppStore “Missing Asset Catalog - Your app is missing the Assets.car file in ‘blah.app’.”

Forum thread: Missing Asset Catalog - Cannot distribute app - Mobile Development - Unreal Engine Forums

Hi Matthew,

Thank you for the fast response.

Can you try the same process with
these versions to see if it may be
related to the beta versions
themselves?

Sure, already tried. The reported issue is only about building for iOS 11 because since iOS 11 Assets.car Catalog is required. Also you guys already added this file generation for tvOS but not for iOS.

Another thing to mention, as it is
mentioned in that thread, is that the
Arkit and the branch associated with
it are highly experimental and not
intended for development at this
stage, as most issues with it are not
being fixed at this time.

Yes, that’s right. Lucky for us the issue is not linked with ARKit. It’s just as one the use cases. To clarify - any ARKit developer who is planing release with iOS 11 is now working with playtests/press and without TestFlight it’s absolutely impossible. Also the plugin for ARKit works perfectly even in experimental state, but the general issue with iOS Assets.car catalog generation is blocking developer’s happiness :slight_smile:

“The issue seems to be submitting a
binary that was built using a beta
version of Xcode. Use a released
version of Xcode when submitting
builds to the App Store.”

Yes, but it is another issue if you are using e.g. XCode Beta 2 but iTunes Connect supports only XCode Beta 1. This is how regular Beta cycle of Apple dev tools looks like.

Hello Matthew,

Would you be so kind to clarify way of how you get that it is not UE4 related issue? From my point of view:

  • Empty application built with XCode works fine with TestFlight
  • In UE4 sources generation of Assets.car is already added for tvOS but not for iOS .com/EpicGames/UnrealEngine/blob/1d2c1e48bf49836a4fee1465be87ab3f27d5ae3a/Engine/Source/Programs/AutomationTool/TVOS/TVOSPlatform.Automation.cs#L46
  • Already discussed with friends from Apple and they show me the app made with XCode 9 Beta 5 in TestFlight.

I’ve spoken with one of our iOS developers and this is already being looked at it. The current plan is for it to be changed in 4.18, so be on the look out for it.

Just a heads up that I was fighting against this also and have a bit different error. After manually adding some info to the plist to fix other errors, I am left still getting this error even though the correct Bundle Icon Name info is in the plist.

Missing Info.plist value - A value for the Info.plist key CFBundleIconName is missing in the bundle.

Thread with more info on my findings.
https://forums.unrealengine.com/development-discussion/ios-development/1344418-error-publishing-to-app-store-with-ios11-and-xcode-9-beta-6-for-testflight

I had to make the following changes to 4.17 to make this work:

Modify IOSToolChain.cs, Line 936

Arguments += Path.GetDirectoryName(DestFile.AbsolutePath.Replace("-IOS-Shipping", "")).Replace("\\", "/") + "\" \"" + \InputFile.AbsolutePath + "\"";

Add IOSTargetSettingsCustomization.cpp, Line 81

new (IconNames)FPlatformIconInfo(TEXT("Icon1024.png"), LOCTEXT("AppIcon_IOS_Marketing", "IOS Marketing Image"), FText::GetEmpty(), 1024, 1024, FPlatformIconInfo::Required);

Assets.car is generated but without the first change above it doesn’t end up in the ipa. The second change enables the user to supply the required marketing image in the project settings.

Do i need to complie something? i just saved these 2 and it doesnt appear in the project settings.

After i added / modified these lines i was able to upload the app and added in project settings - ios a marketing icon! Thank you iktomi!

Actually, the first change was only needed due to an editor bug on mac that doesn’t set the build to shipping when you click the distribution checkbox.

In 4.18, the Mac Editor still doesn’t change the Build Configuration to Shipping when you select “For Distribution” in the Project settings. I’m going to log this as a separate bug. I filed a new bug report here:

Is this still a bug in 4.18.1?
It’s the only thing holding us back from a release.

Do we need to use a source compiled version of UE4 to make these above changes?