Re: Has anyone used the VOIP background mode for a non-VOIP app?
Re: Has anyone used the VOIP background mode for a non-VOIP app?
- Subject: Re: Has anyone used the VOIP background mode for a non-VOIP app?
- From: Fritz Anderson <email@hidden>
- Date: Tue, 17 May 2011 17:07:19 -0500
On 17 May 2011, at 3:50 PM, Chris Markle wrote:
> The "App Store Review Guidelines" state (2.16) that "Multitasking apps
> may only use background services for their intended purposes: VoIP,
> audio playback, location, task completion, local notifications, etc."
>
> There is a background mode plist key (UIBackgroundModes="voip") for
> apps that provide VOIP services, allowing the app to continue to
> handle listening and data sockets while in the background. In the
> discussion for UIBackgroundModes, the doc states that: "These keys
> should be used sparingly and only by applications providing the
> indicated services."
>
> All this taken together suggests that I shouldn't use this key for
> "voip" unless I am specifically a VOIP application, or else risk App
> Store rejection.
The docs don't _suggest_ "voip" means VoIP, when you piece them together. They _say_ "voip" means VoIP, twice.
> Fwiw I would like to be able to run in the background enough to be
> able to send and receive SSH-level keepalives so that I can keep an
> SSH session open, given that it's costly to setup in the first place
> (imho).
The reviewer will read your description of your app. It will say nothing about telephony. Next, he will examine your Info.plist. It will say "voip." He may even have software that red-flags that your app claims to do VoIP. He will not open a debate with senior management over what "only for its intended purpose" means in your case. He will reject your app in 30 seconds and move on to the next of the thousands of apps in the approval queue.
The author of the excellent app "iSSH" devoted a lot of effort to what can be done in the background to keep an SSH connection alive. iSSH registers for the ten-minute grace period with beginBackgroundTaskWithExpirationHandler:. If the user doesn't come back in ten minutes, the connection is lost.
— F
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden