For iOS:
I have an installation and production application for iOS installed on a single device. I can't answer this for Android, but here is my iOS setup with parsing alerts.
A: several versions of the application on one device:
For both applications that must be installed on the same device, they must have different package identifiers. For this:
- Open your project and go to the "Information" tab for your purpose.
- Find the Package ID parameter
- Add a suffix at the end of the identifier as follows:
com.MyApp$(BUNDLE_ID_SUFFIX) - Now open the Build Options tab and add a new custom option
- Set the parameter name to
BUNDLE_ID_SUFFIX - Add a different suffix for each of the assembly configurations that you have. for example, Debugging can have a
.debug value. Leave the suffix for the Release configuration blank. I have 3 build configurations with different suffixes.- Debugging for development testing
- Adhoc to release adhoc builds for testers.
- Release for release on the App Store.
- If you follow this path, you will notice that all versions of the application installed on your device have the same name, and it will be difficult to talk about it.
- To fix this, go back to the "Information" tab and edit the Package Display Name parameter to say
${PRODUCT_NAME}${BUNDLE_DISPLAY_NAME_SUFFIX} - Similar to what we did above, create a new User-Defined parameter named
BUNDLE_DISPLAY_NAME_SUFFIX and add different values ββfor each assembly configuration. for example mine say Ξ± and Ξ².
The above will allow you to install multiple versions of the application on one device.
B: Configure push notifications using parsing between versions.
To configure browser alerts for these versions: follow the instructions in the Deploy section to create certificates and provisioning profiles for each of the package identifiers. for example I have 3 certificates / provisioning profiles for my 3 package identifiers:
- com.MyApp.debug is a development profile for DEBUG.
- com.MyApp.adhoc is an AdHoc Production profile for special checks.
- com.MyApp is an AppStore Production profile to send to the App Store.
Be sure to configure the correct configuration profiles in the build settings so that the application is correctly signed.
Download all certificates at Parse.com. Parse allows you to have 6 different push certificates for iOS.
C: use of different production and intermediate servers.
Configure preprocessing macros on the Create Settings tab. Finding a Preprocessor for Apple LLVM 6.1 - Preprocessing for Customization Preprocessor macros configure different macros for each build configuration. for example mine say for Adhoc ADHOC=1 , for Debug DEBUG=1
Then somewhere in your source code there is something like the following:
#if defined(DEBUG) #define SERVER <development server> #else #if defined(ADHOC) #define SERVER <staging server> #else #define SERVER <production server> #endif
D: sending collections to testers.
This question was probably considered several times. I do not like the Apple Beta testing process. There are many other solutions. I like Beta from Crashlytics.
You can read about it here: http://try.crashlytics.com/beta/
I am deploying the AdHoc build configuration for testers because it is built with an Adhoc provisioning profile that allows me to deploy it to 100 devices without Apple approval.