If there has been an upgrade or change made to your app, DoubleDutch will supply you with a new build of your app. It will have a higher version number, bug fixes, and/or possibly some feature enhancements. What you will want to do is upload it to App Store Connect and have it approved by Apple as soon as possible so that your users can benefit from the upgrade. Below are the steps to update your app.
Note: click on the name of each step to view the process.
When distributing your iOS app through your own iTunes account you will have to re-codesign the binary file (.ipa).
Downloading the Re-Codesign Package
In order to get started, you will need to download and unzip the DoubleDutch App Operations Re-codesign Package, mentioned in Item 6 of the Prerequisites list.
- Go to https://bit.ly/ddrecodesign
- Download the re-codesign package file.
- Find the ZIP file on your Mac and double-click on it.
- It will unpack and create a folder called “recodesign-master”. This folder contains all the tools for re-codesigning.
Note: please make sure you download the latest re-codesign package file since DoubleDutch makes sure it gets updated as needed.
Prerequisites for Successful Re-Codesigning
- A Mac computer.
- Transporter installed on the Mac. If you don't have Transporter downloaded you can download it here.
- Xcode 10.1 or higher installed on the Mac. If you don't have Xcode downloaded you can download it here.
- Command Line Tools installed on the Mac, compatible with the version of Xcode you have installed.
- Your organization’s iOS Production Distribution Certificate, with the associated private key, in your Mac’s Keychain Access.
- The re-codesign package, provided by DoubleDutch.
- The Provisioning Profile belonging to this app, with Associated Domains and Push Notifications enabled, downloaded onto your Mac computer.
- The .ipa (the binary file format of iOS apps) on your Mac. You will have received this from DoubleDutch.
Re-Codesigning your iOS App
- Open the “codesign” folder where you have the recodesign.sh script and the Terminal window.
- Then, drag & drop the recodesign.sh file into the Terminal window. This will display the entire path of the script file.
- Then, drag & drop the Provisioning Profile file you downloaded from your Apple Developer account.
- Finally, drag & drop the .ipa file you received into the Terminal window.
- You will then see the full path of the files; the makeup of the entire command is the script, followed by two “arguments” – the binary file and the Provisioning Profile. If the two arguments are not there, or incorrect, the script will fail.
- Then hit the 'Enter/Return' key. An example of the Terminal output is shown below:
- When the script is done, you will have a new folder on your Desktop called “Codesign_Output”. The script will automatically open it. This folder will contain the re-codesigned .ipa file and an entitlements.plist file. The latter can be used for troubleshooting, so do not delete it. It might also be useful to take a screenshot of the Terminal output, for reference and/or troubleshooting.
Note: you will notice that the Bundle ID of the app will be been injected into the file name of the .ipa. The script does this for the sake of documentation and clarity.
- You can close the open windows and proceed to upload your app to your App Store Connect account.
Final Technical Notes on Re-Codesigning
This app claims two specific entitlements: Apple's Push Notification Services and Keychain Access. Push Notifications rely on a setting in the Provisioning Profile.
- Push Notifications Services must be enabled on your Provisioning Profile for re-codesigning to be successful.
- If Push Notifications are not available in the Provisioning Profile, the script will output the message: "This provisioning profile doesn't have push entitlement!"
- Keychain Access is necessary to store the user's login and password combination so that the user can access the app, after closing and reopening, without re-logging in.
After you have re-codesigned your iOS app, you should be able to upload the binary file to your App Store Connect account. If you are uploading the app to your internal app store, see the administrator of your Mobile Application Management System.
You can upload your app to App Store Connect by using the Transporter app on your Mac.
Follow the steps below to upload your app successfully to your App Store Connect account.
- Find the Transporter app on your Mac. You can open Spotlight search and type in “transporter”. It will be the top hit.
- Open the app and log into the app with the credentials you use to log into App Store Connect. Apple may ask you to create an app-specific password during this step. You can find the directions on how to create an app-specific password here.
- Drag the .ipa file you re-codesigned, from the Codesign_Output folder on your Desktop, to the "Add App" screen of Transporter.
- Then you will see an overview of the app’s details. Click on 'Deliver' to proceed with uploading.
- The upload process will take a few minutes. Afterward, you can close Transporter.
- Log in to App Store Connect.
- Next, click on the 'My Apps' button to go to the overview of your apps.
- If you don’t have many apps, you should be able to spot your app immediately. Click on it once to be taken to the app listing. If you have many apps, you can use the Search field to find your app.
- Once you have opened your app’s listing, in the left menu click on the '+' sign next to “Version or Platform”. It will show you another window where you can select iOS or tvOS. Select iOS.
- Then another window will pop up where you will need to enter the new version number of your app. Use logical numeric order. If your current app is version 1.0, the version you will type in is 1.1. If you had version 1.9 in the App Store, your next version would be 2.0. Then click 'Create'.
- Then you will see the new app listing. All the fields are the same as when you first filled in the app listing, except the new field at the top where you can specify what the changes are in this new version. To keep it concise, you can type in “Bug Fixes and Feature Enhancements”.
- If you have any changes to make to the images, remember to delete the old ones before submitting the app for review. If you need to change the app icon, you must first delete the old one, only then can you upload a new one to the app listing. If desired, you can also change the app name at this time.
- All other fields can remain the same unless specified by DoubleDutch that changes have been made. After every change you make to the app listing, it is prudent to click on the 'Save' button in the top-right.
- The final step will be to select a new build to associate with this updated app listing. The new .ipa file you uploaded earlier should be available to select by this point in the “Build” section of the app listing. You will see a “+” sign next to the heading. Click on it to open a pop-up window.
If you do not see the “+” sign, it means that your app is still being processed by Apple’s servers. It should become available within 30 minutes of uploading. You can periodically refresh the app listing page by pressing "CMD + R" or you can monitor the status of the upload within the "Activity" tab.
Note: due to Apple’s web security settings on App Store Connect, it may happen that your session will be closed when you refresh the page. Do not worry; you will be taken back to the login page. Simply log in again, find your app and continue your work where you left off. This is also a reason why it is prudent to save your work frequently.
- The pop-up window should show your app build, ready to be selected. Click on the radio button next to the build number and then click on 'Done'.
- You will be taken back to the main app listing page, click on 'Save' in the top-right.
- Once your new app listing is saved, with all new images, icon, name, description, and new app build attached to the listing, you can click on 'Submit for Review' in the top right.
- The final stage to confirm your submission is to answer two questions about Export Compliance and an Advertising Identifier in the app. You can select 'No' for both of the questions, then click on 'Submit'.
- You will now be taken back to the app listing, and as a confirmation, you will see that your app has the status “Waiting for Review”.
You have finished your app update! This means that your app submission has been put into the review queue in Apple’s review department. Typically, reviews of app updates take less time than new apps. However, it all depends on Apple and their review queue. App update approval can take as long as up to two weeks. It is advisable to take this into account when planning your app launch.