我有基於tabbar的應用程序。當我放入我的plist UIBackgroundModes(我的應用程序應該支持voip)時,GUI不會加載。它在啓動屏幕上很糟糕,並且不加載第一個標籤視圖。當我從info.plist中刪除UIBackgroundModes屬性時,它工作正常。除此之外,卡住時按下主頁按鈕什麼也不做。有人遇到過類似的問題嗎? (模擬器上存在的問題)GUI卡住uibackgroundmodes = voip,音頻
感謝,
納瓦
我有基於tabbar的應用程序。當我放入我的plist UIBackgroundModes(我的應用程序應該支持voip)時,GUI不會加載。它在啓動屏幕上很糟糕,並且不加載第一個標籤視圖。當我從info.plist中刪除UIBackgroundModes屬性時,它工作正常。除此之外,卡住時按下主頁按鈕什麼也不做。有人遇到過類似的問題嗎? (模擬器上存在的問題)GUI卡住uibackgroundmodes = voip,音頻
感謝,
納瓦
它的出現,這個問題發生在模擬器只,它的工作原理設備......因此,解決辦法(暫時的),在不將UIBackgroundModes放入模擬器版本的info.plist中。
你負責裝載/進進出出的背景模式的時候卸載界面。您還需要在退出後臺時相應地更新界面。
iOS在將應用程序置於後臺並在將應用程序置於前臺(在啓動應用程序時有點像Default.png)並顯示一些UIImage緩存之前進行屏幕截圖,可以幫助您獲得屏幕截圖。
這可能值得分享一些代碼。
支持背景狀態轉換
支持背景狀態轉變爲在IOS 4和以後的應用程序的基本體系結構的一部分。儘管從技術上來說,爲了支持這項功能,唯一需要做的就是與iOS 4及更高版本建立鏈接,但正確支持它需要一些額外的工作。具體來說,您的應用程序委託應該實現以下方法,並在他們每個人採取適當的行爲:
- 應用中:didFinishLaunchingWithOptions:
- applicationDidBecomeActive:
- applicationWillResignActive:
- applicationDidEnterBackground:
- applicationWillEnterForeground:
- applicationWillTerminate:
作爲一個負責任的,多任務感知應用程序,這是他們能夠比前臺應用程序做更多的限制在後臺運行
應用。即使您的應用程序不在後臺運行,您在實施應用程序時仍應遵循某些準則。
- 不要在代碼中進行任何OpenGL ES調用。您不得創建EAGLContext對象或發出任何類型的任何OpenGL ES繪圖命令。使用這些調用將導致您的應用程序立即終止。
- [...]
問題從非常開始 - 它不會顯示帶有文本字段和按鈕的視圖!所以在應用之後:didFinishLaunchingWithOptions我仍然可以看到Default.png。按Home按鈕什麼也不做。 – 2010-11-03 12:45:52
我也看到了這個bug。這非常煩人。這就好像該應用程序卡在模擬器中並且不會繼續。發生這種情況時,我知道如何「解除」它。
在模擬器中,我只需進入菜單Hardware> Lock,然後再次解鎖手機。現在我停止調試器並再次啓動應用程序。這似乎將它踢回了生活。
幸運的是,這個錯誤不會發生在真實手機上,只發生在模擬器中。
它在應用程序啓動後的一開始就卡住了。當我從.plist中刪除UIBackgroundModes行時,它只是起作用並加載第一個視圖。 – 2010-11-03 11:18:23