Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ITMS-90682: "Invalid Bundle.

Tags:

xcode

ios

Today I update my Xcode vision to 8.0. When I submit a app.ipa file to Apple store,i get an error feedback that ITMS-90682: "Invalid Bundle. The asset catalog at '$path' can't contain 16-bit or P3 assets if the app is targeting iOS releases earlier than iOS 9.3."].

I search the answer on the Internet and get a similar answer,but it not fit.

Because their question is not completely the same as mine.Their question contain 'Payload/****.app/Assets.car' ,but mine contain '$path'.

Their method is as follows:

First step : modify the file' name of app.ipa to app.zip

Second step : decompressing app.zip

Third step : undo command line and $ cd app.app file

Forth step: $ find . -name 'Assets.car'

Fifth step : $ sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car > /tmp/Assets.json

Sixth step : open /tmp/Assets.json

Seventh step : search "P3" and "16-bit" in file named "Assets.json"

Eighth step : record the "Name"

Ninth step : open Xcode and find out the image that names have been record in eighth step. change the image form to 8 and sRGB

These are not use for mine ,because the different is "$path".i can't get the name of imaged which form is P3 or 16-bit in my project because i can't get a right method to get a property Assets.json file on fifth step.

like image 511
dove lark Avatar asked Sep 21 '16 14:09

dove lark


2 Answers

Change you 'IPHONEOS_DEPLOYMENT_TARGET' to '8.2' if you used '8.3'.

like image 118
AkQuan Avatar answered Nov 14 '22 10:11

AkQuan


Short Answer

We'll need to lower our Deployment Target to 8.2 to pass iTunes Connect

Full Answer

@dove lark this is from Apple Developer Forums, please check update paragraph :

With Xcode 8 GM, this error will occur if you include 16-bit or P3 assets in an app submission targeting iOS releases earlier then iOS 9.3. If your app requires wide color functionality you must change your Deployment Target to iOS 9.3 or later. If your app does not require wide color functionality and you wish to deploy it to older iOS versions then you should replace all 16-bit or P3 assets with 8-bit sRGB assets. You can find 16-bit or P3 assets by running “assetutil” on the asset catalog named in the error message from iTunes Connect. The following steps outline the process:

  1. Create an Inspectable .ipa file. In the Xcode Organizer (Xcode->Window->Organizer), select an archive to inspect, click “Export...", and choose "Export for Enterprise or Ad-Hoc Deployment". This will create a local copy of the .ipa file for your app.

  2. Locate that .ipa file and change its the extension to .zip.

  3. Expand the .zip file. This will produce a Payload folder containing your .app bundle.

  4. Open a terminal and change the working directory to the top level of your .app bundle cd path/to/Payload/your.app

  5. Use the find tool to locate Assets.car files in your .app bundle as shown below: find . -name 'Assets.car'

  6. Use the assetutil tool to find any 16-bit or P3 assets, in each Assets.car your application has as shown below. : sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car > /tmp/Assets.json

  7. Examine the resulting /tmp/Assets.json and look for any contents containing “DisplayGamut": “P3” and its associated “Name". This will be the name of your imageset containing one or more 16-bit or P3 assets.

  8. Replace those assets with 8-bit / sRGB assets, then rebuild your app. Update: If your Deployment Target is set to either 8.3 or 8.4 and you have an asset catalog then you will receive this same error message, even if you do not actually have 16-bit or P3 assets. In this case you will either need to lower your Deployment Target to 8.2, or move it up to 9.x.

Update: If your Deployment Target is set to either 8.3 or 8.4 and you have an asset catalog then you will receive this same error message, even if you do not actually have 16-bit or P3 assets. In this case you will either need to lower your Deployment Target to 8.2, or move it up to 9.x.

Apple Developer forums link

means we'll need to lower our Deployment Target to 8.2 to pass iTunes Connect.

Ridiculously fixed my problem, hope this will help someone else...

like image 42
mgyky Avatar answered Nov 14 '22 08:11

mgyky