IPC in iOS, two independant applications exchanging data

Hello Experts,

We are in the process of developing a navigation application. Idea is to launch the Navigation application by our partners application. When navigation application runs in the background, we would like to exchange the navigation application progress with our partner's application. Also looking for interface like partner application queries some data and our navigation application responds.

For example, when destination reached, partner application need to get notified from navigation application even if the notification app or partner application is running in the background. OR Partner application queries for travel history and navigation application responds with last 5 trips with details.

As we know there is very limited IPC mechanism supported in iOS, using URL Schema, we can exchange some set of data. But this mechanism brings the other application to the foreground. We want to avoid this. We want to do data exchange behind the scene.

Is there any way in iOS to achieve this?

Every help is appreciated. Thank you very much in advance.

With Warm Regards
Salila
Answered by Salila in 631413022
Hello ESKIMO and CLAUDE31,

Thanks for the reply.

@ESKIMO
Network: Are you referring the solution over the the internet? OR you are suggesting Socket programming where one listens and other connects to it?

@CLAIDE31
Push Notification: Yes we have considered. Please correct me if I am wrong, as per my knowledge, if any notification arrives ( say silent notification or with alert) to process it, application has to come to the foreground. Unless user activates the app, it cannot process the command. Do you have any different view here?

Regards
Salila
Did you look at using push notification ?

Is there any way in iOS to achieve this?

Nothing particularly enticing. iOS is pretty strict about blocking IPC between unrelated apps. The only option I can think of is to do this over the network.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
Accepted Answer
Hello ESKIMO and CLAUDE31,

Thanks for the reply.

@ESKIMO
Network: Are you referring the solution over the the internet? OR you are suggesting Socket programming where one listens and other connects to it?

@CLAIDE31
Push Notification: Yes we have considered. Please correct me if I am wrong, as per my knowledge, if any notification arrives ( say silent notification or with alert) to process it, application has to come to the foreground. Unless user activates the app, it cannot process the command. Do you have any different view here?

Regards
Salila

Are you referring the solution over the the internet? OR you are
suggesting Socket programming where one listens and other connects to
it?

I was not being specific (-:

Normally a loopback network connection wouldn’t work on iOS because apps get suspended on moving to the background. In your case it might work because your background app is a navigation app and that won’t get suspended (at least while it’s actually navigating).

Overall, however, this doesn’t look like a very sustainable strategy. iOS’s restrictions on cross-team IPC are not accidental, and my experience is that bypassing such restrictions tends to end badly in the long term.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"
IPC in iOS, two independant applications exchanging data
 
 
Q