问题
I submitted an app which tracks the user's location (and sends it to the server) at some fixed intervals chosen by the user (5 min, 10 min, 30 min, 1 h). The app should work in background, too (sending the requests) and I have declared it as UIBackgroundMode = location
. I am able to send the requests while in background at those fixed intervals. Apple rejected it, suggesting the following:
We found that your app uses a background mode but does not include functionality that requires that mode to run persistently. This behavior is not in compliance with the App Store Review Guidelines.
We noticed your app declares support for location in the UIBackgroundModes key in your Info.plist but does not include features that require persistent location.
It would be appropriate to add features that require persistent use of real-time location updates while the app is in the background or remove the "location" setting from the UIBackgroundModes key. If your application does not require persistent, real-time location updates, we recommend using the significant-change location service or the region monitoring location service.
For more information on these options, please see the "Starting the Significant-Change Location Service" and "Monitoring Shape-Based Regions" sections in the Location Awareness Programming Guide.
If you choose to add features that use the Location Background Mode, please include the following battery use disclaimer in your Application Description:
"Continued use of GPS running in the background can dramatically decrease battery life."
If I change significant location change and remove UIBackgroundMode
key from Info.plist
, the app will be killed in background and will wake up only if the event occurs. But I must send the request to server every 5 minutes for example and my app is killed in the background (let's say the user does not move and the event is not trigger = no
requests are sent to server).
回答1:
Sounds like apple's complaint is that your apple think that your app doesn't need to use background location. If what you're trying to do is legitimate - e.g. your user would expect the app to track them in the background and this is a useful thing to them - you could try explaining why location tracking is needed in the review notes.
回答2:
To resolve you have to add the disclaimer in the App description in Itunes Connect "Continued use of GPS running in the background can dramatically decrease battery life."
回答3:
I think it is best to address these questions directly to Apple. I hope you did so. They are very good at communication, providing your response is professional and clear. As are your questions.
I find it hard to believe that anyone will be able to help you here.
Edit: Add description to your app. Be clear in your messages to the user and to apple reviewers. It seems to help a lot. Remember, they are people too.
来源:https://stackoverflow.com/questions/12690459/apple-rejection-because-uibackgroundmode-location