Inquiry Regarding Background HTTP Service Support in iOS

Dear Apple App Store Review Team,

We are currently developing an application focused on user data asset management, aimed at helping users better protect and manage their personal data. One of the core features of our application is to allow users to access files stored on their mobile devices from other devices within the same local network.

At present, our implementation works as follows: once the application is launched, it starts an HTTP service in the background to support access from other devices within the local network.

However, we have encountered a technical challenge in the iOS environment: when the application is moved to the background or the device screen is turned off, the system imposes strict limitations on the runtime of background tasks. Our testing has shown that, typically after about 30 seconds, the background HTTP service is suspended by the system, which prevents other devices from continuing to access the files.

As developers, we would like to clarify the following:

What specific technical steps are required to enable a continuous background HTTP service under iOS?

During development, which aspects (e.g., system permission configurations, App Store review guidelines) need to be addressed to support such functionality?

What qualifications or requirements (e.g., entitlement requests, compliance documentation) are necessary for an application to provide unrestricted HTTP service in the background?

If such behavior is not officially supported, we kindly request that you provide the relevant official guidelines and documentation so that we can fully understand the applicable policies and requirements.

Thank you very much for your time and guidance.

Answered by DTS Engineer in 855807022
Dear Apple App Store Review Team

I don’t work for App Review, and thus can’t offer definitive answers on their behalf.

The Apple Developer Forums are primarily focused on technical issues, such as the behaviour of the APIs in Apple’s various SDKs. There is an area for App Review threads, but this is not it. If you want to engage with App Review, I recommend that you start a new thread over there.

I can address your technical questions. To start, I recommend that you read iOS Background Execution Limits. That should give you a good feel for the lay of the land here.

What specific technical steps are required to enable a continuous background HTTP service under iOS?

That’s not supported.

If such behavior is not officially supported, we kindly request that you provide the relevant official guidelines and documentation

I don’t think there is any official documentation saying that per se. Our documentation tends to focus on what you can do, not what you can’t. Hence my iOS Background Execution Limits forums post.

Share and Enjoy

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

Dear Apple App Store Review Team

I don’t work for App Review, and thus can’t offer definitive answers on their behalf.

The Apple Developer Forums are primarily focused on technical issues, such as the behaviour of the APIs in Apple’s various SDKs. There is an area for App Review threads, but this is not it. If you want to engage with App Review, I recommend that you start a new thread over there.

I can address your technical questions. To start, I recommend that you read iOS Background Execution Limits. That should give you a good feel for the lay of the land here.

What specific technical steps are required to enable a continuous background HTTP service under iOS?

That’s not supported.

If such behavior is not officially supported, we kindly request that you provide the relevant official guidelines and documentation

I don’t think there is any official documentation saying that per se. Our documentation tends to focus on what you can do, not what you can’t. Hence my iOS Background Execution Limits forums post.

Share and Enjoy

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

I understand that certain types of apps are allowed to run in the background. I would like to know whether our app qualifies for any of those approved modes.

During development and debugging of my app, background execution works correctly. However, after build release and installing it on a real device, the background was limited. Since it functions properly in debug mode, I’m wondering if there is a specific policy or configuration required to enable background execution in release builds.

I would like to know whether our app qualifies for any of those approved modes.

There are two parts to that:

  • Does it technically make sense?
  • Will it pass App Review?

I can only respond to the first part. The second part is something you’ll have to discuss with App Review directly.

Regarding the first part, I’m not aware of any background mode or mechanism that was specifically designed to allow network servers to run indefinitely in the background.

During development and debugging of my app, background execution works correctly.

Well, that depends on your definition of “correct” (-: I have another post, Testing and Debugging Code Running in the Background, that explains that, that is, how the debugger changes the behaviour of your program to make it hard to test background execution properly.

Share and Enjoy

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

Inquiry Regarding Background HTTP Service Support in iOS
 
 
Q