Updating Configuration Profile installed in iOS device in MDM
It needs to be the contents of the containing the PayloadContent of the profile you wish to install which has been Base64 encoded.
You don't need all the XML, just the first block.
Installing multiple configuration profiles with CALDAV payloads on iOS device
After working on this for over two days now, finally I found a workaround. Though I doubt if it is a solution, but still it worked for me. So far I have been trying to configure the profile using the iPhone Configuration Utility on my MAC only. On checking the mobile config files, I found that the value corresponding to the key "PayloadUUID" is the same for all the profiles that I created using my MAC machine. Then I tried creating one profile from my MAC and the other from that of my colleague's, and it worked perfectly.
So we could possibly fix the above mentioned issue by configuring the profiles from different machines or by simply editing the profiles such that the "PayloadUUID" are different.
If anybody else finds a better solution, please do update.
Programmatically verify an MDM profile (configuration) has been successfully pushed to an iOS device?
It will not be possible for your app to determine whether a configuration profile has been installed as no (public) APIs exist that allow an app to query it's installed profiles nor will you be able to determine whether an MDM push notification has been sent to the device. You will have to rely on your MDM (AirWatch) to determine with certainty that the profile has been installed.
When AirWatch pushes the profile to the device it will receive an acknowledgement that the profile has been installed but it's not until AirWatch re-queries all installed profiles that it will report that the profile has been installed. What I have seen is that soon after AirWatch sends a profile installation command it will re-query the list of profiles on the device so it may be feasible to just poll the server a few times and wait until you see that the profile has been installed. I have not spent much time in the AirWatch REST API in detail but I assume this is possible.
Other than this, the only other option I can see is for you to do something with Reachability to detect whether the VPN tunnel is being setup.
Installing vpn configuration profile along with other MDM profile iOS
The only way to upgrade profiles without a user interaction is through MDM right now.
I would love to see iOS device being managed by multiple MDM (Which would alleviate interoperability problem). However, Apple doesn't support this.