2010-12-03 81 views
18

我需要開發一個監控網絡流量的企業應用程序。基本上它會檢測用戶是否使用Wi-Fi或蜂窩數據,並保存一段時間內發送和接收的字節數。 我在AppStore上看到了一個完成這項工作的應用程序。 使用Apple提供的可訪問性示例,檢測wi-fi或蜂窩數據非常簡單。 我的問題是保持監視應用程序在後臺發送和接收的字節。背景任務是解決這個問題的方法嗎?

因爲它是一個企業應用程序,我用UIBackgroundModes「voip」來避免應用程序被終止。 我也安裝了setKeepAliveTimeout方法,我能夠每10分鐘看到一次日誌,但只能在方法運行10秒後看到。我的意思是,setKeepAliveTimeout讓我的應用程序每10分鐘運行一次定時器10秒鐘。

我在想沒有任何背景的任務是我的問題的最佳解決方案。

我會感謝您的任何意見。

編輯:好吧,夥計們。那是完美的方式。

首先你一定要讀這: http://www.christian-fries.de/blog/files/tag-ios.html

我想這和它的作品真的很好。 我們所需要做的就是創建一個與主分離線分開的第二個線程。這樣我們就可以持續運行連續線程。您還必須在Apple的網站上看到GCD文檔。

你應該考慮的企業應用程序的第二件事是將其設置爲VoIP應用程序,這樣iOS即使在重新啓動後也能讓你的應用程序運行。這是iOS保持voip應用程序運行的一種特殊行爲。

這就是它們。 我希望它能幫助你。

+9

我真的很想知道公司的名字,所以我從來沒有開始在那裏工作......無論如何 - 技術非常有趣:+1 – vikingosegundo 2010-12-03 19:36:32

+0

你沒有太多的選擇,背景任務與塊是隻有用4.0+才能執行代碼的合法方式。你是否認爲可以在iOS上構建服務? AFAIK如果沒有Jailbreaking,你無法做到這一點 – slf 2010-12-03 19:46:33

回答

2

我們沒有訪問這些數據。沒有辦法衡量流量。

您看到的應用程序進行了估計(例如1mb/min),並在applicationWillEnterForeground之後進行估計。那麼你計算時間x估計交通量,然後我們去。

不幸的是沒有辦法衡量, 所以我沒有在設置的交通復位,然後我正好流1級分鐘的音樂。經過幾次重複,我得到了我的結果。問題是,這隻適用於音頻或視頻等靜態流量處理過程。

希望能幫助 內

編輯:看下面回答!

相關問題