ITMS-90682: can't contain 16-bit or P3 assets if the app supports iOS 8 or earlier

Hi, I just started seeing this error (without change in assets) in a testflight submission (we have iOS10-only code) - this is the full message (from XCode8)


"ERROR ITMS-906832: "Invalid Bundle. The aseet catalog at 'Paylod/XXXX/Assets.car' can't contain 16-but or P3 assets if the app supports iOS 8 or earlier"


I can submit by disabling iOS8 but need to know if this is a temporary error, or something wrong in our assets.


Thank you

Tried everything in this thread without success.

Filed a bug report:

28240788

Also tried everything. Totally stuck.

28249790


thanks!

The problem for me is that we have an app that targets iOS 6 and an embedded sticker pack that targets iOS 10. When xcode builds the asset catalog for the sticker pack it passes '--minimum-deployment-target 10.0' to actool.


actool then builds that asset catalog into an Assets.car and happily uses 16-bit or P3 assets (even though the source assets are not), because as far as it's concerned they should be valid (which is probably correct)


The problem here is that ITC is not checking if the offending Assets.car is actually going to be accessible to the iOS 6 app (which it isn't), it *SHOULD* check that the offending file is inside an extension, find the minimum target of 10 for that extension and not fail it. No-one running iOS 9 or below can access the offending Assets.car, so in my opinion this is a bug in ITC that should be fixed.


To bypass this bug, take a look at the build output. The extension should build first (as it's a dependancy), copy the actool commandline from the xcode log that builds the asset catalog, edit the minimum version to match the main app, and run it again before the rest of the build finishes. This recreates the assets.car file but without the offending issues.


It's a horrid hack and not at all what I think is the right thing to do, but it works.

THANK YOU, this worked very well !

Thanks !!!!

Still experiencing this issue with no P3 assets.


Ticket number 28258967.


Thanks!

Submitted a bug report.

28259187

Submitted a bug report.

28259575

Apple Bug Report #28260593

None of the described workarounds have been successful. I've verified that my images aren't 16-bit or P3. My app is built for a deployment target of iOS 8.0, my sticker app for iOS 10.

Submitted a bug report.


Ticket Number : 28273290

Yep, that's exactly what happened for me, too.
We have an App that should build for Xcode 8 but it contains an embedded target (in our case a today widget) only being built for iOS 9 and this creates the offending catalog.


Radar: 28135437

I've found that removing all images from my xcassets (apart from the required icons) allows me to submit the app, adding any png back in to the xcassets causes the error to occur.

A plain white 64x64 png created in Photoshop at 8-bit / channel, RGB still causes the issue.

Is there anything else we can try?

Are you all guys having this problem only when building iMessage packs and ios 9 widgets? I have this issue with a target that builds for iOS 8.4 and up and I don't have any P3 or 16-bit assets in it. I had to revert my project to Xcode 7 and build from the stable version in order to be able to submit my binary.

We aren't building an iMessage pack, just trying to release our app through XCode 8 - upgraded code to Swift 2.3

Thanks for all the bug reports everybody, they've been helpful. We've updated the import validation and you should no longer see this issue. If you continue to have trouble submitting you apps, please update your bug reports with details of what you're seeing now and attach the .ipa file you're trying to submit.

Still seeing the same error at the moment, my ipa is already in my bug report:

28259575

Thanks aaron.amer. Could you try something? It looks like your Deployment Target is set to 8.4. Could you back that up and set it to 8.2 and see if that fixes your case?

This has fixed it for us, we have successful validation.

We are building for iOS7 in the main app by the way. Thanks!

Hi,

Yes, that seems to have done the trick, thanks!

Why would that have caused the issue?

I still get the same error. I've no iMessage packs or other fancy stuff, just a plain Objective-C app with no new assets I'm trying to upload with Xcode 8 and which targets iOS 8.4. I checked every PNG and followed everying written in this thread, but I found no problems with my assets.


Stefan

You'll need to move the target OS back to 8.2. There have been multiple issues at play here. The one you're seeing is that Assets.car generated with a Deployment Target of 8.3 or 8.4 incorrectly include a key that trips up the iTC validation. This is unrelated to extensions that may or may not exist in the parent app (where there was a separate problem).


Having said that, with iOS 10 going live soon, our recommendation will be to move your Deployment Target to 9.x.

Thank you very much! Switching to 8.2 fixed the problem!


Stefan

This issue hasn't been resolved for me, and I'm trying to upload an app with deployment target iOS10 and WatchOS 3.0, which should allow these assets. rdar://28285183

Thanks joostvanderborg, we're investigating.

I still get the error, but it says "Invalid Bundle. The asset catalog at 'Payload/***.app/Assets.car' can't contain 16-bit or P3 assets if the app is targeting iOS releases earlier that iOS 9.3.'

http://i.imgur.com/VzvQq7Y.png

ITMS-90682: can't contain 16-bit or P3 assets if the app supports iOS 8 or earlier
 
 
Q