Best Practices for Testing and Submitting iOS apps

There are a number of best practices that will ensure an easy transition from development to testing and finally to production and distribution on the App Store. While going through this process, different apps will need to be created on the Urban Airship Go Dashboard. Each of these apps will have unique APNS certificates.

Never use the same push certificate across multiple Urban Airship app keys. You should also never use the same bundle ID across multiple app keys in the same environment (development or production). Not following these instructions can result in rejected device tokens and APNs feedback processed by the wrong app key potentially invalidating your reachable audience.  If you need to have a third app key for ad hoc builds (which also use Distribution-type production push certificates), the bundle ID should be changed so you can use a different certificate, for example: “com.yourcompany.app.adhoc”.

Creating a Development app

Using our iOS Getting Started Guide, add Urban Airship to the development app. In this step, the APNS certificate will be for the development (sandbox) environment. Give this app a bundle ID that specifies this as a development build (e.g. com.yourcompany.appnamedevandadhocbundle). Make sure the inProduction flag is set to NO.

Creating a build for Testing (QA or AdHoc)

When creating a testing build of the app, create a new production app on the Urban Airship Go Dashboard. This app must have a certificate that is set up for the APNS Production environment. Use the same bundle ID as the previous app (e.g. com.yourcompany.appnamedevandadhocbundle). Update your AirshipConfig.plist file with the production app key and secret for the testing app. Set the inProduction flag to YES.

Creating a build for Production and Distribution (App Store)

Similar to the previous step, create a new production app with Urban Airship, this time with a new bundle id (e.g. com.yourcompany.appnameproductionbundle), and production certificates with Apple. Update the AirshipConfig.plist with the app key and secret for the production application on the Urban Airship Go Dashboard. Set the inProduction flag to YES.

Checklist

The Development Build

  • Urban Airship Development Application
  • Bundle ID: com.yourcompany.appnamedevandadhocbundle
  • The Urban Airship development app’s key and secret in development lines of AirshipConfig.plist
  • inProduction in the plist = NO


The QA Build

  • Urban Airship Production Application
  • Bundle ID: com.yourcompany.appnamedevandadhocbundle
  • The Urban Airship ad hoc app’s key and secret in production lines of AirshipConfig.plist
  • inProduction in the plist = YES


The App Store Build

  • Urban Airship Production Application
  • Bundle ID: com.yourcompany.appnameproductionbundle
  • The Urban Airship production app’s key and secret in production lines of AirshipConfig.plist
  • inProduction in the plist = YES

Related Content: