All of this - and please file a bug report requesting a way for a background 
app to have network keep alives (would be good for any app that needs to poll 
or keep a connection). I've filed a bug report. You should too. That's how 
Apple determines what's needed.

On May 17, 2011, at 5:07 PM, Fritz Anderson wrote:

> 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 protected])
> 
> 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:
> http://lists.apple.com/mailman/options/cocoa-dev/alex%40webis.net
> 
> This email sent to [email protected]

Alex Kac - President and Founder
Web Information Solutions, Inc. 

"It is useless for sheep to pass a resolution in favor of vegetarianism while 
wolves remain of a different opinion."
-- William Randolph Inge





_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to