在IOS上存在retain屏,经常需要在一些时刻用到高清图,有些时候也要到普通图。
在网络条件很爽的情况下,这当然不在话下。如果咱是iphone用户,又正好用的是移动卡。
如果还用的高清图的话是不是灰常的杯具,显然是一定的。
从目前的情况来看,只有移动的gprs的卡速度慢的像牛一样,这样我们就需要权衡在一些场合牺牲点质量
换取速度。
那么我们就得必须知道当前网络是神马运营商。给个变通的解决方案。
01 | - ( BOOL )checkChinaMobile |
04 | CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init]; |
05 | CTCarrier *carrier = [info subscriberCellularProvider]; |
11 | NSString *code = [carrier mobileNetworkCode]; |
17 | if ([code isEqualToString:@ "00" ] || [code isEqualToString:@ "02" ] || [code isEqualToString:@ "07" ]) { |
网络在00—02—07三种情况时是移动网络。具体参考下面的数据
China – CN
详细数据请参考: http://en.wikipedia.org/wiki/Mobile_Network_Code
转自iloss博客 http://www.iloss.me/2012/07/21/ios如何判断当前网络的运营商/
需引入框架CoreTelephony.framework
导入头文件
#import<CoreTelephony/CTTelephonyNetworkInfo.h>
#import<CoreTelephony/CTCarrier.h>
先定义以下方法:
//用来辨别设备所使用网络的运营商
- (NSString*)checkCarrier
{
NSString *ret = [[NSString alloc]init];
CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [info subscriberCellularProvider];
if (carrier == nil) {
[info release];
return @"0";
}
NSString *code = [carrier mobileNetworkCode];
if (code == @"") {
[info release];
return @"0";
}
if ([code isEqualToString:@"00"] || [code isEqualToString:@"02"] || [code isEqualToString:@"07"]) {
ret = @"移动";
}
if ([code isEqualToString:@"01"]|| [code isEqualToString:@"06"] ) {
ret = @"联通";
}
if ([code isEqualToString:@"03"]|| [code isEqualToString:@"05"] ) {
ret = @"电信";;
}
[info release];
return ret;
}