標籤:ios 網路 wifi typedef
typedef enum { NETWORK_TYPE_NONE= 0, NETWORK_TYPE_WIFI= 1, NETWORK_TYPE_3G= 2, NETWORK_TYPE_2G= 3,}NETWORK_TYPE;
然後通過擷取手機訊號欄上面的網路類型的標誌
+ (int)dataNetworkTypeFromStatusBar { UIApplication *app = [UIApplicationsharedApplication]; NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews]; NSNumber *dataNetworkItemView = nil; for (id subview in subviews) { if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) { dataNetworkItemView = subview; break; } }int netType = NETWORK_TYPE_NONE;NSNumber * num = [dataNetworkItemView valueForKey:@"dataNetworkType"];if (num == nil) { netType = NETWORK_TYPE_NONE; }else{int n = [num intValue];if (n == 0) { netType = NETWORK_TYPE_NONE; }elseif (n == 1){ netType = NETWORK_TYPE_2G; }elseif (n == 2){ netType = NETWORK_TYPE_3G; }else{ netType = NETWORK_TYPE_WIFI; } }return netType;}如果發現問題,請及時告知,謝謝!
iOS擷取網路的最新方法(自己試了下沒什麼問題)