2012-07-17 56 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