iOS网络判断

运行应用时先进行网络判断,判断目前处于什么网络下,判断步骤如下:

1.下载AFNetworking

2.导入头文件 #import "AFNetworkReachabilityManager.h"

3.实现代码

 // 1.获得网络监控的管理者
    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
    
    // 2.设置网络状态改变后的处理
    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        
        // 当网络状态改变了, 就会调用这个block
        switch (status) {
                
            case AFNetworkReachabilityStatusUnknown: // 未知网络
            {
                
                UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"当前为未知网络" preferredStyle:UIAlertControllerStyleAlert];
                /* 创建action对象 */
                UIAlertAction *actionConfirm = [UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                    
                }];
                
                /* alert添加action对象 */
                [alert addAction:actionConfirm];
                
                [self presentViewController:alert animated:YES completion:^{
                    
                }];
                
                break;
                
            }
            case AFNetworkReachabilityStatusNotReachable: // 没有网络(断网)
            {
                
                UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"亲!无网络!请查看网络设置" preferredStyle:UIAlertControllerStyleAlert];
                /* 创建action对象 */
                UIAlertAction *actionConfirm = [UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                    
                }];
                
                /* alert添加action对象 */
                [alert addAction:actionConfirm];
                
                [self presentViewController:alert animated:YES completion:^{
                    
                }];
                
                break;
                
            }
            case AFNetworkReachabilityStatusReachableViaWWAN: // 手机自带网络
            {
                
                UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"亲!正在使用手机3G/4G网" preferredStyle:UIAlertControllerStyleAlert];
                /* 创建action对象 */
                UIAlertAction *actionConfirm = [UIAlertAction actionWithTitle:@"确认" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
                    
                }];
                
                /* alert添加action对象 */
                [alert addAction:actionConfirm];
                
                [self presentViewController:alert animated:YES completion:^{
                    
                }];
                
                break;
            }
            case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI
            {
                NSLog(@"WIFI");
                UIAlertView *alertView2 = [[UIAlertView alloc] initWithTitle:@"提示" message:@"亲!正在使用wifi" delegate:self cancelButtonTitle:@"确认" otherButtonTitles:nil, nil];
                [alertView2 show];
                break;
            }
        }
    }];
    
    // 3.开始监控
    [manager startMonitoring];
    




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,您的问题不太清晰,请问您是想实现iOS应用程序中首次打开时弹出网络连接提示框吗?如果是的话,可以参考以下步骤: 1. 在您的应用程序中添加一个网络检测功能,判断当前设备是否联网。可以使用Reachability库实现。 2. 在应用程序的AppDelegate文件中添加以下代码,在应用程序启动时检测网络状态,并根据需要显示提示框: ```swift func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // 检测网络状态 let reachability = Reachability.forInternetConnection() let status = reachability?.currentReachabilityStatus() // 如果网络不可用,弹出提示框 if status == NotReachable { let alertController = UIAlertController(title: "网络连接错误", message: "请检查您的网络连接", preferredStyle: .alert) let okAction = UIAlertAction(title: "确定", style: .default, handler: nil) alertController.addAction(okAction) self.window?.rootViewController?.present(alertController, animated: true, completion: nil) } return true } ``` 3. 为了避免每次启动应用程序都弹出提示框,您可以使用UserDefaults来保存用户是否已经看过提示框的状态。只有在用户第一次启动应用程序时才弹出提示框。 ```swift func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // 检测网络状态 let reachability = Reachability.forInternetConnection() let status = reachability?.currentReachabilityStatus() // 如果网络不可用,弹出提示框 if status == NotReachable { let userDefaults = UserDefaults.standard let hasShownAlert = userDefaults.bool(forKey: "HasShownNetworkAlert") if !hasShownAlert { let alertController = UIAlertController(title: "网络连接错误", message: "请检查您的网络连接", preferredStyle: .alert) let okAction = UIAlertAction(title: "确定", style: .default, handler: nil) alertController.addAction(okAction) self.window?.rootViewController?.present(alertController, animated: true, completion: nil) userDefaults.set(true, forKey: "HasShownNetworkAlert") userDefaults.synchronize() } } return true } ``` 希望这些步骤能够对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值