iOS防截屏替代方案


  在某些對安全有較高要求的App中,需要有防截屏的需求。但由於iOS系統的限制,App無法阻止截屏,但截屏之后,App可以接收到UIApplicationUserDidTakeScreenshotNotification通知,因此我們可以在接收到此通知后,刪除相冊中最后一張圖片即可(美中不足的是刪除圖片時,會有彈出窗口,讓你對圖片做出選擇是【刪除】,還是【不允許】)。具體步驟如下:

  1. 添加對截屏事件UIApplicationUserDidTakeScreenshotNotification的監聽        

  

  2. 實現截屏通知響應方法userDidTakeScreenshot:(NSNotification *)notification

  

 

  2.1. 獲取所有資源並按照創建時間降序排序

    

 

  2.2. 從返回的查詢結果集中,獲取第一個資源,便是最新的截圖

    

 

  2.3. 刪除這個最新的截圖資源

    

 

  2.4. 完整代碼如下圖:

    

 

  說明: [PHAssetChangeRequest deleteAssets:@[asset]] 操作一定要在 -[PHPhotoLibrary performChanges:completionHandler:]中執行,否則應用會崩潰。

 

 

  

 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM