我正在開發一個銀行應用程序,並且客戶端的要求是不顯示/保存屏幕快照,當應用程序進入後臺時(即,當回家時按鈕被點擊)。 我在後臺方法中添加了疊加視圖,並在應用再次進入前臺時刪除了該視圖。當我點擊主頁按鈕時,它的工作狀態非常好,等待1或2秒,然後再次點擊主頁按鈕。applicationDidEnterBackground方法沒有調用applicationWillResignActive當我的應用程序在後臺進入iOS 7
我的問題是:如果我點擊主頁按鈕一次,等待幾毫秒(僅僅是應用程序圖標前可見),然後再次單擊home鍵兩次,然後屏幕快照是可見的(在多任務視圖)。
當我分析了這個問題後,我開始知道我的後臺委託方法在這種情況下不會被調用,因此在這種情況下不會添加覆蓋視圖。
重現步驟:
- 添加覆蓋圖(有顏色的同時,讓我們說),在應用程序的appDidEnterBackground方法。
- 添加代碼以移除willEnterForeground方法中的疊加視圖。
- 現在,運行您的應用程序。
- 按主頁按鈕一次。
- 只需按一次主頁按鈕(並在應用程序圖標可見之前),單擊主頁按鈕兩次,以便您可以看到Multitasker視圖。
- 而不是覆蓋視圖,你會看到那裏的應用程序截圖。
預期結果: 的同時疊加視圖應該已被添加,你應該已經看到,而不是應用程序快照。
實際結果: 你能看到多塔斯克針對應用程序的屏幕截圖
版本: 的iOS 7及以上
,而不是'-applicationDidEnterBackground:',移動覆蓋到' - (無效)applicationWillResignActive:' – staticVoidMan
@staticVoidMan我也試過這樣做......但它沒有任何幫助。這兩種方法都沒有被調用:( – anshul
hm ...似乎屏幕截圖的事情必須在一秒之前發生 – staticVoidMan