簡體   English   中英

任何可用於在iPhone應用程序中通過WiFi促進3G / GPRS的iPhone SDK API

[英]Any iPhone SDK API available to promote 3G/GPRS over WiFi in an iPhone application

我需要在我正在開發的iPhone應用程序中通過WiFi連接提升3G / GPRS。 請讓我知道是否可行,如果可以,怎么辦?

問題是當我有一個可用且已連接但未使用Captive Portal登錄的WiFi網絡時,我無法使用該WiFi網絡執行需要Internet連接的任務。 我注意到的是Reachability API可檢測到可用的WiFi,但由於我尚未登錄,因此無法使用它,因此直到登錄后,我才可以使用此WiFi熱點連接到Internet。 因此,我想使用3G / GPRS來執行需要Internet連接的任務。

iPhone的默認行為是在可用時使用WiFi,如果沒有,則僅使用3G / GPRS。

因此,請讓我知道3G / GPRS和WiFi是否都可用,但是我不是使用WiFi而是使用3G / GPRS連接到Internet,如何使用3G / GRPS執行需要Internet連接的任務。

問候,

出於安全原因,盡管您為實現某些目的而進行GPRS網絡連接,但Apple不允許開發人員以編程方式進行此類設置。

第三方應用程序無法控制其數據的來源。 您要做的就是要求用戶在應用程序運行時關閉wifi。 如果您需要在完成初始數據傳輸后重新使用wifi,則可以巧妙地使用iOS 4多任務處理和本地通知API:當應用程序進入后台時,它可以啟動后台任務處理程序(使用-beginBackgroundTaskWithExpirationHandler:在您的應用程序委托的-applicationDidEnterBackground: -beginBackgroundTaskWithExpirationHandler:中,等待wifi連接不可用,對蜂窩網絡進行處理,然后創建UILocalNotification來告知用戶可以重新打開wifi。 這樣,用戶可以從您的應用程序獲得的好處中受益,並且仍然保持他們開始時的連接。

如果您要創建一個需要訪問某些網絡資源才能運行的應用程序,則應該僅ping或嘗試直接連接到這些資源,而不是僅僅取決於決策的可達性。 如果您無法ping服務器,則讓應用程序執行與可訪問性報告零連接性(即使可能不是)相同的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM