2013-10-03 120 views
12

iOS 7引入了新的用戶配置來禁用特定應用程序的蜂窩數據。它可以在「設置」 - >「蜂窩」中進行配置,然後向下滾動。iOS 7中是否有蜂窩數據使用API​​?

settings screenshot

你會發現每個已安裝的應用程序切換,並可以看到它有多大的移動數據消費。

如何以編程方式測試開關是否爲我的應用程序打開?有沒有一個API?我可以確定我的應用程序在蜂窩上使用了多少數據?

我並不是要求獲取所有應用程序的值。我只對我的應用程序使用感興趣。

+0

我發現了一個線程上提到了這一點蘋果開發者論壇。但似乎沒有API。請看這裏https://devforums.apple.com/message/855240 – Klaas

+0

我正在使用iPad應用程序,但我的iPad中沒有應用程序在「Cellular Data Usage」下顯示,我的客戶想要顯示我們的應用程序選項。我怎樣才能表明這一點?我正在使用帶有有效SIM卡的iPad3。 –

+0

@palchuri您確定您的應用程序通過蜂窩網絡生成了一些流量嗎? – Klaas

回答

4

沒有API可以檢測您的下載消耗或蜂窩是否爲您的應用程序處於活動狀態。

如果您的應用嘗試連接到網站,但手機已關閉,則iOS可能會要求用戶重新打開手機。我不完全確定它是如何工作的,但它可能類似於iOS 6「無網絡連接」警報,如果沒有連接但應用程序試圖訪問互聯網,它將彈出。

您可以檢查當前的互聯網連接是否通過WiFi或Cellular,但是如果Cellular被禁用,您將被告知沒有網絡連接。

更多細節在這裏:iOS Detect 3G or WiFi

1

如果蜂窩數據開關打開時,您不能檢查。

  • 最接近的是,您可以使用SCNetworkReachability kSCNetworkReachabilityFlagsIsWWAN標誌檢查特定主機是否可通過蜂窩連接到達。
  • 此外,您可以使用NSURLRequest allowsCellularAccess屬性爲特定連接啓用/禁用蜂窩數據。

參考:https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/Platform-SpecificNetworkingTechnologies/Platform-SpecificNetworkingTechnologies.html

這個回答表明數據如何使用可以測量系統範圍:iPhone Data Usage Tracking/Monitoring

+0

從iOS9開始,這不再是事實。請參閱https://stackoverflow.com/a/48160099/2941876 –