2012-07-17 33 views
3

我知道音频播放器和Voip应用程序可以在iOS上以后台运行。在iOS上播放音频播放器或VOIP应用程序中的背景显示UI

是否有一种方式来显示UI从背景(除LocalNotifications)?我的意思是全屏UI。

使用私有API或其他技巧的方法是可以接受的。该应用程序将使用企业证书进行签名,不会被AppStore部署/审查。

仅适用于越狱iOS设备的方法是不可接受的。

+1

如果你是显示一个全屏幕的用户界面,那么它是不是在后台.... – lnafziger 2012-08-01 16:22:52

+0

这是我的主要观点。我希望能够从背景切换到前景。 – 2012-08-01 20:03:21

+0

本地通知有什么问题?本地通知和推送通知专门用于这种情况。你在后台有一个应用程序,可能会让用户想要将应用程序放到前台,所以你会显示一个通知。然后他们点击按钮,应用程序被带到前台。请解释你想要的是不同的 - 必须有我不理解的东西。 – ajh158 2012-08-07 14:49:02

回答

0

看看这个文件,然后搜索“实现长期运行的后台任务”基本上你需要注册您的应用程序在后台运行,而不是被暂停,听通知。

来自文档: “应用程序声明支持使用其Info.plist文件的服务。将UIBackgroundModes键添加到Info.plist文件中”和“.....值”让系统知道您的应用程序应该在适当的时候唤醒以回应相关事件。“

http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html#//apple_ref/doc/uid/TP40007072-CH4-SW20

+0

谢谢。我读了这个文件。它有关于如何在后台运行的信息。但是“在适当的时候醒来”只意味着系统只是让应用程序了解一些事件。问题是如何显示UI来响应这些事件。 – 2012-08-01 20:02:22

+0

如果您在这些事件中有一个听众时发生了类似弹出警告框的情况,会发生什么情况? – Beleg 2012-08-06 14:17:26

+0

什么都没有发生。它不显示警报。如果我尝试使用URL启动某个应用程序,情况也是如此。据我所知,Springboard管理显示哪个应用程序。其余的应用程序使用屏幕外缓冲区。所以,用户不会看到UI。 – 2012-08-06 18:12:13

-1

只需创建一个前端UI应用程序并与后端进行交互。我不擅长iOS开发,但这是我在Android和Windows应用程序中与后台服务交互的方式。除非我完全错过了你想要做的事情。

+0

我希望它很简单:)我也是Android开发者。在Android中,我们所要做的就是将Intent发送给我们自己。在iOS系统中,严格控制前台应用程序的应用程序,并且我没有找到允许后台应用程序将其自身(或任何其他应用程序放在前台)的API。 – 2012-08-07 18:42:15

0

Victor,你有没有尝试过为你的应用定义一个自定义的URL?

跳板可以在解析自定义URL时启动应用程序;如果他们在后台,他们会成为前台。

必须在关键CFBundleURLTypes创建一个URL类型到您的应用程序的Info.plist,例如“mySpecialURLType”。您的应用程序代理还必须实现handleOpenURL:的OpenURL:sourceApplication:注释:

如果你(在你的后台任务)要求像一个URL“mySpecialURLType://”,从理论上跳板将启动应用程序。

我不知道它是否有效,但值得一试...

最好!

+0

谢谢。好主意:)但是,我之前尝试过,我发现如果应用程序在前台,那么它可以做到这一点(新推出的应用程序将成为前景)。如果应用程序是背景的 - 没有反应。 – 2012-08-08 02:54:08

+0

嗯。我很害怕......只要我知道在iOS 5下似乎不可能做到这一点。你在苹果开发者论坛发布了它吗?我会一直在想...... – 2012-08-08 13:09:35

+1

我会尽力将它发布到那里。但是,根据我以前的经验,开发人员不太喜欢这种(私人API)问题。 – 2012-08-08 17:19:31

相关问题