3

I'm trying to upload hosted content for a new IPA using Application Loader (existing app, already contains other in app purchases). When I hit "Deliver", I see the following errors being displayed :

ERROR ITMS-3000: "Line 262 column 97: value of attribute "display_target" is invalid; must be equal to "Mac", "iOS-3.5-in", "iOS-4-in", "iOS-4.7-in", "iOS-5.5-in", "iOS-Apple-Watch" or "iOS-iPad" at XPath /package/software/software_metadata/versions/version[2]/locales/locale/software_screenshots/software_screenshot[18]"

Context:

  1. Earlier version of my app contains iPad-pro screenshots.
  2. It seems that though I'm just trying to upload a new package for in-app-purchase, the entire metadata for the app is downloaded by Application Loader which does not seem to recognize iPad-Pro as a valid device that needs screenshots.
  3. So, when it cannot validate the metadata for my new in-app-purchase.
  4. I cannot delete screenshots for my existing app since its already live.

Does anybody know a way to get through this issue? Any workarounds?

rmaddy
  • 314,917
  • 42
  • 532
  • 579
Sri
  • 31
  • 4

2 Answers2

5

Edit: As of Xcode 9.1 Beta you can upload In-App Purchase content from Xcode’s Organizer window. This is far more convenient than using the Transporter tool as described below.


As of v3.7 Application Loader no longer supports In-App Purchases. Instead, you have to use Apple's command line Transporter tool to upload content.

You can install Transporter separately to XCode / Application Loader. I prefer to do this as I find it cleaner and can update it in isolation. You can find the instructions here: https://help.apple.com/itc/transporteruserguide/#/apdAbeb95d60

An example workflow for updating an existing in-app purchase's content would be thus:

Step 1 : Get the existing metadata for the in app purchase:

iTMSTransporter -m lookupMetadata -u "$ITC_USERNAME" -p "$ITC_PASSWORD" -destination "$DOWNLOAD_PATH" -vendor_id "$ITC_PRODUCT_PARENT_ID" -subitemids "$ITC_PRODUCT_ID" -subitemtype InAppPurchase

You can omit the -subitemids and -subitemtype options if you wish to simply download the metadata for the entire app and all of its IAPs.

I believe you can also edit the other metadata relating to your app itself. You may also be able to remove/omit certain sections and still get the process to work.

Step 2 : Update your local copy of the metadata

  • Drag the new IAP content, which you should have archived into a .pkg file using XCode, into the .itmsp directory the previous step generated.

  • Update the size and md5 checksum in the region of the xml file which carries that information. The md5 checksum for your .pkg is obtainable by opening terminal and typing "md5" then dragging and dropping the .pkg into terminal and pressing enter.

Step 3 : Verify the .itmsp package

iTMSTransporter -m verify -u "$ITC_USERNAME" -p "$ITC_PASSWORD" -f "$ITMSP_PATH"

Step 4 : Upload (assuming verification was successful)

iTMSTransporter -m upload -u "$ITC_USERNAME" -p "$ITC_PASSWORD" -f "$ITMSP_PATH"

This workflow was taken/adapted from the following website, which is extremely helpful and carries other relevant information you may want: http://www.cyrilchandelier.com/having-fun-with-itmstransporter

  • 1
    what is Update the "size"? – Retro Jan 18 '18 at 15:33
  • 1
    @Retro Navigate to where the size is listed for the pkg and update it to the correct number of bytes for your updated pkg. With the latest versions of Xcode it is far easier to upload through organizer now. – Alexander Gingell Jan 19 '18 at 16:51
  • @AlexanderGingell how to modify metadata.xml? which fields should i add and where if i want to upload new version of hosted content? – ale_stro Mar 27 '18 at 09:18
  • i've founded lots of examples http://help.apple.com/itc/appsspec/en.lproj/static.html#itc4e6040f5d – ale_stro Mar 27 '18 at 13:31
3

Some issue here, I resolve with this procedure:

  • right click on .itmsp file produced
  • show package content
  • Open metadata.xml file
  • Remove all <software_screenshot> tag that have display_target="iOS-iPad-Pro"
  • save and close
  • reopen the file

Please double check if the screenshot on itunes connect side still remain available (ok for me but I'm not sure if this procedure could remove images).

Mr Lister
  • 45,515
  • 15
  • 108
  • 150
Klamore74
  • 578
  • 1
  • 6
  • 21