Background Tasks

Can't we set up a network server that constantly runs in the background, even in the applications we will develop for corporate companies? @eskimo

with XMPP

The purpose is to send messages to XMPP at regular intervals. That's why the connection must always be live. Is it possible to do this on iOS?

even in the applications we will develop for corporate companies

I’m not sure what you mean by this but, just to set expectations, DTS provides support as if all apps were being deployed to the App Store.

Can't we set up a network server that constantly runs in the background

Negative questions are hard to answer in English, so I’m going to point you at my iOS Background Execution Limits post. Read that, then reply back here if you have follow-up questions.

Share and Enjoy

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

@eskimo First of all thank you for your answer. I read your article, but is it the same for XMPP? I mean ... According to the Apple Developer Enterprise Program, are the background restrictions only valid for applications used within the company? The scenario is that the XMPP connection should never break in the app and the app will wake up with a message from the server at a certain interval and send a message to the server. is this possible?

I think this is achievable because you don’t need to list it on the AppStore and can use some private APIs.

We can have an in-depth communication.

my email = "yangscalvn" + "@" + "gmail.com"

I think this is achievable because you don’t need to list it on the AppStore

Again, just because something doesn’t go through App Review does not make it a sustainable approach.

and can use some private APIs.

There’s no such thing as “private APIs”. By definition, an API is public. Anything else is an implementation detail.

If you build a product based on implementation details, you are likely to run into problems in the future. If you are lucky they are binary compatibility problems, where you just have to rebuild your app. However, you may run into deeper problems, where certain functionality is simply no longer available. I see this sort of thing all the time. For a classic example, see this thread.

Build your product based on APIs, not implementation details.

Share and Enjoy

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

Background Tasks
 
 
Q