9 Replies
      Latest reply on Jun 2, 2018 2:57 PM by Andy Ibanez
      baia Level 1 Level 1 (0 points)

        Application Loader 3.7 no longer supports in-app purchase delivery.

        http://help.apple.com/itc/apploader/#/apdS73193199

         

        I have an app in the store that has IAP's with Apple-hosted content. Does anyone know the process now for updating the hosted content?

        • Re: How to update hosted content with Xcode9?
          AlexGingell Level 1 Level 1 (10 points)

          We have the same issue.  After the update to Application Loader, we would have expected some kind of content replacement functionality in iTunes Connect, but iTC doesn't seem to have functionality for uploading content in the first place, let alone updating it.

           

          The only lead is in the link you already posted - XML delivery.  It seems we must use Apple's Transporter command line tool to deliver this content / metadata.

           

          https://help.apple.com/itc/transporteruserguide/#/itc0d5b535bf

           

          I have no experience of this yet, so it looks like it's time to read up and figure it out.  To be honest, I'm kind of blown away at how poorly this transition was handled given the ramifications for developers who may have been heavily reliant on Application Loader.  Fair enough, I'm sure XML delivery is a viable alternative, but some kind of specific help, not to mention forewarning, would have been merited in my opinion.  Leaving us to scrabble around in the revision history of documentation for a piece of software that no longer supports the function we rely on, in the aftermath of making the change, is less than adequate.  Perhaps I missed something obvious?

           

          UPDATE:

           

          I have now successfully updated an in-app purchase's hosted content using the command line transporter tool.

           

          You can install Transporter separately to XCode / Application Loader.  I prefer to do this if I'm forced to use it separately as I find it cleaner and easier to update.  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

           

          Step 2 : Update your local copy of the metadata

           

          • Use Xcode to archive your new IAP content into a .pkg file ("Installer") as you normally would.
          • Drag the new .pkg file you archived into the .itmsp directory the previous generated in Step 1.
          • Within the .itmsp is a meta data XML file. 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:

           

          cyrilchandelier dot com / having-fun-with-itmstransporter

           

          Best of luck!

            • Re: How to update hosted content with Xcode9?
              baia Level 1 Level 1 (0 points)

              Hey great work Alex. I looked at XML delivery and thought, surely not!

               

              > I'm kind of blown away at how poorly this transition

               

              I tried DTS and they referred me to ITC support, but after several rounds of email haven't got someone who undertsands the problem...

               

              Years ago you used to be upload the content directly from Organiser, but that broke. I tried that but got "The archive contains nothing that can be signed.", so still broken I guess.

              • Re: How to update hosted content with Xcode9?
                tonywan2013 Level 1 Level 1 (0 points)

                VERY GOOD Alex.  This post saved me tons of hours!!!

                 

                Just to remind subsequent readers that

                - First to create an IAP sample in ITC, then follow the steps indicated by Alex.  The values of environment variables are as follows:

                - $ITC_USERNAME is your developer ID to login to ITC

                - $ITC_PASSWORD is your password of the developer ID

                - $DOWNLOAD_PATH is where you want to download the xml of the created IAP sample

                - $ITC_PRODUCT_PARENT_ID is the your app SKU

                - $ITC_PRODUCT_ID is the IAP sample product ID

                - $ITMSP_PATH can be == $DOWNLOAD_PATH if you modify metadata.xml in the download directory.

              • Re: How to update hosted content with Xcode9?
                risingtide Level 1 Level 1 (0 points)

                Xcode 9.2 supports uploading IAP content. For details, see Xcode help topic "Upload in-app purchase content". It was easy and worked as documented.

                • Re: How to update hosted content with Xcode9?
                  ale_stro Level 1 Level 1 (0 points)

                  I had the same issue. And resove it by changing Product Name from ContentInfo.plist to Display Name from iTunesConnect -> Features -> In-App Purchases -> <Your_In_App>