iOS檢測3G或WiFi我不確定這是否可行,但我有這種情況。我的UIWebView中顯示了一個網(wǎng)站,該網(wǎng)站在UISegmentedController中設(shè)置了鏈接。他們的網(wǎng)站可以檢測您是在wifi上還是在3g網(wǎng)絡(luò)上?,F(xiàn)在,分段控制器指向2個不同的頁面:1 - iPhone友好登錄屏幕2 - 主頁,一旦您登錄?,F(xiàn)在問題是:我可以編程我的應(yīng)用程序來檢測它是WIFI還是3G(我知道你可以這樣做),但是根據(jù)答案轉(zhuǎn)到第1或第2部分有點(diǎn)像這樣:if (iPhone device is on 3g) {
Go to Segment 1;} else {
Go to Segment 0;}
3 回答

皈依舞
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個贊
使用Apple在此處提供的代碼
Reachability *reachability = [Reachability reachabilityForInternetConnection];
[reachability startNotifier];
NetworkStatus status = [reachability currentReachabilityStatus];
if(status == NotReachable)
{
//No internet
}
else if (status == ReachableViaWiFi)
{
//WiFi
}
else if (status == ReachableViaWWAN)
{
//3G
}

縹緲止盈
TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個贊
如果您不想導(dǎo)入Reachability庫或處理通知程序,則可以使用以下簡單的同步方法:
typedef enum { ConnectionTypeUnknown, ConnectionTypeNone, ConnectionType3G, ConnectionTypeWiFi} ConnectionType;+ (ConnectionType)connectionType{ SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL, "8.8.8.8"); SCNetworkReachabilityFlags flags; BOOL success = SCNetworkReachabilityGetFlags(reachability, &flags); CFRelease(reachability); if (!success) { return ConnectionTypeUnknown; } BOOL isReachable = ((flags & kSCNetworkReachabilityFlagsReachable) != 0); BOOL needsConnection = ((flags & kSCNetworkReachabilityFlagsConnectionRequired) != 0); BOOL isNetworkReachable = (isReachable && !needsConnection); if (!isNetworkReachable) { return ConnectionTypeNone; } else if ((flags & kSCNetworkReachabilityFlagsIsWWAN) != 0) { return ConnectionType3G; } else { return ConnectionTypeWiFi; }}
- 3 回答
- 0 關(guān)注
- 575 瀏覽
添加回答
舉報
0/150
提交
取消