IOS's Equivalent of Android Service - Or how do I provide processing for other apps to use?

Hello All. We have an app that we developed that receives real time data from a bluetooth device, runs it through AI models, and provides some result based on the input. (Sorry for being vague, IP and all).

This all works well both on IOS and Android. However, what we want to allow, is for other apps to be able and read the data that we provide in realtime, and display / use that for their own proposes. On android this works really well using a Service. This allows any app to communicate with a single running instance of the service, bind to it, work with the results, and close it when done.

I'm trying to understand how we would replicate this on IOS. It seems that the concept doesn't exist, and with the strict limitations on background processing, we cannot just run our app in the background, and stream the results via say a local TCP server that another app can access.

What might be the way to solve this within the platform? we have to keep the BT data streaming, our models running, and allow others to access it via some API/RPC.

Is there a solution or some sort of best practice to achieve this?

Accepted Reply

What might be the way to solve this within the platform?

Not really. iOS has no explicit support for this sort of thing. Moreover, the iOS sandbox actively blocks unmediated communication between apps from different teams.

My general advice for folks in this sort of situation is for your app to publish information in a way that’s accessible to Shortcuts. The user could then create a shortcut that connects your data to some other app. However, I’m not familiar enough with Shortcuts to know if that’d work in your specific situation, where you need to publish data asynchronously from the background.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Replies

What might be the way to solve this within the platform?

Not really. iOS has no explicit support for this sort of thing. Moreover, the iOS sandbox actively blocks unmediated communication between apps from different teams.

My general advice for folks in this sort of situation is for your app to publish information in a way that’s accessible to Shortcuts. The user could then create a shortcut that connects your data to some other app. However, I’m not familiar enough with Shortcuts to know if that’d work in your specific situation, where you need to publish data asynchronously from the background.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"