8-3 我不愿意成為你退而求其次的人
Reachability
1.下載,添加Reachability類
2.為項目添加SystemConfiguration.Framework
Reachability* reach = [Reachability reachabilityWithHostname:@"www.google.com"];
// Tell the reachability that we DON'T want to be reachable on 3G/EDGE/CDMA
reach.reachableOnWWAN = NO;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name:kReachabilityChangedNotification
object:nil];
[reach startNotifier];
- (void)reachabilityChanged:(NSNotification *)note
{
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass:[Reachability class]]);
NetworkStatus netStatus = [curReach currentReachabilityStatus];
switch (netStatus)
{
case NotReachable: // 無網絡
{
break;
}
case ReachableViaWWAN: // 通過2G/3G/4G連接
case ReachableViaWiFi: // 通過Wifi連接
{
//網絡變化時要注意驗證用戶身份
[self authentication];
break;
}
}
}
AFNetWorking
1.下載安裝AFNetWorking
// 網絡連接單例
AFNetworkReachabilityManager *reachabilityManager = [AFNetworkReachabilityManager sharedManager];
// 打開檢測
[reachabilityManager startMonitoring];
// 檢測網絡連接的代碼塊回調
[reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
if (status == AFNetworkReachabilityStatusNotReachable) {
//網絡無連接的提示
}
}];
// 網絡連接狀態
typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
AFNetworkReachabilityStatusUnknown = -1, //未知
AFNetworkReachabilityStatusNotReachable = 0, //無連接
AFNetworkReachabilityStatusReachableViaWWAN = 1, //3G
AFNetworkReachabilityStatusReachableViaWiFi = 2, //WIFI
};
YYKit
待定~