iPhone背景通知

问题描述:

我正在制作iPhone应用程序。我可以使用AsyncUdpSocket接收UDP消息。我希望应用程序在后台运行,当收到消息时,UIAlertView显示给用户,他可以输入应用程序或忽略警报。 当应用程序在后台运行时是否可以检测到消息?iPhone背景通知

我需要一些东西在这个方法中执行我的代码吗?

- (void)applicationDidEnterBackground:(UIApplication *)application {  
} 

我看了很多的教程,与计时器,但我不需要计时器来唤醒我的应用程序。另外我读到这是播放音乐,跟踪位置或使用VOIP的可能性。

我是否需要播放假歌让我的应用程序继续运行?或者做那样的事情?

这个应用程序是为了安全,例如,如果有人正在触摸或移动你的摩托车/电脑/其他任何,你的iPhone可以提醒你,并防止偷。

我读了其他类似的线程,但没有找到答案。

谢谢大家给我提示或任何帮助/示例。

如果您没有进入这三类应用程序中的任何一个,您就无法在非越狱手机的后台运行,如果您将该设备用于其他目的,苹果公司很可能不会批准您的应用程序。无论如何,UDP可能并不是最好的解决方案 - 如果你的手机离开网络,其他设备(不管它是什么),它将不会收到通知,无论它是否在前台。使用推送通知API可能会更好。

+0

您**可以**在未越狱的iOS环境中在后台运行应用程序。只是不在所有设备上。 – 2011-03-15 15:32:23

+0

如果你不介意的话,请重新阅读我的答案 - 超出前10个单词。我承认应用商店的条款允许**在后台运行的三类应用程序(VoIP,位置监控和音乐),即应用程序在非越狱设备上分发的主要方式。一个应用程序**可能误导性地将自己标记为其中一个,但(正如我之前所说的)它不会通过审查过程。 – 2011-03-15 15:38:17

+0

我必须使用UDP与传感器进行通信,该传感器通过此协议向我发送信息。我无法使用推送通知,这需要服务器发送通知,我只是想使用本地通知,在一个特殊的事件,如接收消息 – ciwol 2011-03-15 15:38:43

这似乎是使用Apple推送通知(APN)的完美案例。您的应用可以注册以接收通知,手机将通过任何组合的徽章,消息或声音提醒用户。听起来你已经有一台发送UDP消息的服务器,所以合并APN应该是最小的。特别是如果您使用第三方发送推送通知,例如Urban Airship。 (我不隶属于他们,但已经在一个大型商业项目中使用过它们。)

根据定义,本地事件不会通过接收消息触发。