I ran into the same problem a few months ago. At least I did not develop a launcher. So, I post my solution to the problem below.
Note. You cannot do this with the Parse SDK
So, the solution is to do this by opening your applications to your APIs. This has several advantages, for example, your parsers may belong to different accounts, but do not violate the terms of use of Parse.
TL; DR
Create two different applications and lay out the API using the cloud code. Use the REST client to transfer data back and forth.
Complete solution
The first step is to create two parses that you think match the individual needs of your software to run. You can generate express servers for both applications. Essentially, the result of this step is that you will have two different applications that will use your own APIs.
Now get rid of the Parse SDK, which you are probably using at the moment. Choose the right REST client, in my case it was retrofit . Configure it so that it can use different base URLs for individual calls. The following is a specific example of Retrofit.
Function that returns a REST adapter with a base URL
public FirstAppApi getFirstAppApi() { return new RestAdapter.Builder() .setEndpoint("http://app-one.parseapp.com/") .build() .create(FirstAppApi.class); }
In this example, FirstAppApi is essentially the Retrofit interface. Similarly, you can also create an adapter for the second parsing. Now, to make a data transaction, you just need to decide which application you should use. See a few examples below.
In this implementation, you need to take care of a few things. The API is publicly exposed, although the name of the application, and therefore the base url, is known only to you. Therefore, the API should be well protected at termination. You should double the confirmation to the Parse guys that this does not violate their terms of use.