時間都去哪兒了?開源一個統計iPhone上App運行時間和打開次數的小工具【iOS8已失效】


         如今,大家每天都有大量時間花在手機上,但是,大家有沒有想過自己的時間都花在哪些App上了呢?相信很多人都有這樣的需求,不過iOS系統本身並不能顯示每個App的運行時間和次數,因此,本人寫了這樣一個小工具,可以在后台進行監控當前使用的App,對App的打開次數和運行時間進行統計,可以顯示今日、本周、或全部統計結果,並能按打開次數、運行時長排序。

       程序使用的是私有API,因此請勿將本文中提到的方法用於需要發布到AppStore的應用。不過在真機上運行代碼,並不需要越獄,只需要有開發者證書即可,因此有證書的朋友可以部署代碼到設備上娛樂下

       程序原理很簡單,首先是播放無聲音樂,使程序能保持后台運行,其次啟動一個計時器,持續獲取當前前台運行的App名稱,當前台運行的App發生改變時,即寫一條記錄到數據庫,然后監控設備的鎖屏消息,當設備鎖屏時,暫停計時器,當設備打開鎖屏時,繼續計時器。如果設備重啟,需要重新打開一次程序,統計才能繼續進行。

      運行效果如下:

              

      程序的要點如下:

(1)播放無聲音樂

       使用開源代碼MMPDeepSleepPreventer

 

(2)獲取前台運行App bundleId及App名稱

       獲取前台運行的App Bundle Id:SBFrontmostApplicationDisplayIdentifier

       獲取App 名稱 :SBSCopyLocalizedApplicationNameForDisplayIdentifier

       獲取App圖標:SBSCopyIconImagePNGDataForDisplayIdentifier

       具體使用方法參見《iphone SprintBoard部分私有API總結》 及 代碼。

(3)監控設備鎖屏消息

       使用CFNotificationCenterAddObserver對"com.apple.springboard.lockcomplete"和"com.apple.springboard.lockstate"進行監控。根據得到的狀態,可以知道設備是鎖屏還是打開非鎖屏。

   代碼下載:https://github.com/gugupluto/iOSAppTime       

 

 

  


免責聲明!

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



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