在IOS上存在retain屏,经常需要在一些时刻用到高清图,有些时候也要到普通图。
在网络条件很爽的情况下,这当然不在话下。如果咱是iphone用户,又正好用的是移动卡。
如果还用的高清图的话是不是灰常的杯具,显然是一定的。
从目前的情况来看,只有移动的gprs的卡速度慢的像牛一样,这样我们就需要权衡在一些场合牺牲点质量
换取速度。
那么我们就得必须知道当前网络是神马运营商。给个变通的解决方案。
01 | - (BOOL)checkChinaMobile |
02 | { |
03 | BOOL ret = NO; |
04 | CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init]; |
05 | CTCarrier *carrier = [info subscriberCellularProvider]; |
06 | if (carrier == nil) { |
07 | [info release]; |
08 | return NO; |
09 | } |
10 |
|
11 | NSString *code = [carrier mobileNetworkCode]; |
12 | if (code == nil) { |
13 | [info release]; |
14 | return NO; |
15 | } |
16 |
|
17 | if([code isEqualToString:@"00"] || [code isEqualToString:@"02"] || [code isEqualToString:@"07"]) { |
18 | ret = YES; |
19 | } |
20 | [info release]; |
21 |
|
22 | return ret; |
23 | } |
网络在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;
}