iOS - 什么!iOS13 又獲取不到WiFi了


iOS 12 適配WiFi

增加隱私權限

https://www.cnblogs.com/baitongtong/p/10179519.html

ios13又新增定位權限

別的不說,理解請看上篇文章

iOS - 適配 iOS 13 之工兵連掃雷

直接上代碼// 當定位授權狀態改變時

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
    switch (status)
    {
        case kCLAuthorizationStatusDenied:                  // 拒絕授權
            NSLog(@"授權失敗:用戶拒絕授權或未開啟定位服務");
            break;
        case kCLAuthorizationStatusAuthorizedWhenInUse:     // 在使用期間使用定位
            NSLog(@"授權成功:用戶允許應用“使用期間”使用定位服務");
             if (geteventID >= 0) {
                NSDictionary *ret = @{@"returnVal":[self currentWifiSSID]};
                [self sendResultEventWithCallbackId:geteventID dataDict:ret errDict:nil doDelete:YES];
            }
            break;
    }
}
//獲取wifi名稱 - ( NSString*)currentWifiSSID { NSArray *interfaceNames = CFBridgingRelease(CNCopySupportedInterfaces()); NSDictionary *SSIDInfo; for (NSString *interfaceName in interfaceNames) { SSIDInfo = CFBridgingRelease(CNCopyCurrentNetworkInfo((__bridge CFStringRef)interfaceName)); BOOL isNotEmpty = (SSIDInfo.count > 0); if (isNotEmpty) { break; } } NSString * ssid = @""; if (![[SSIDInfo objectForKey:@"SSID"] isEqual:@""]&&[SSIDInfo objectForKey:@"SSID"]!=nil) { ssid = [SSIDInfo objectForKey:@"SSID"]; //包含信息SSIDInfo
   }
    return ssid;
 
}

- (void)get:(NSDictionary *)paramsDict_

{
    [setHostComputer launch];
    if (_locationManager == nil) {
        _locationManager = [CLLocationManager new];
    }
    geteventID = [paramsDict_ integerValueForKey:@"cbId" defaultValue:-1];
    if (_locationManager != nil) {
        // 請求“使用期間”使用定位服務
            if (@available(iOS 13, *)) {
                if (CLLocationManager.authorizationStatus == kCLAuthorizationStatusAuthorizedWhenInUse) {//開啟了權限,直接搜索
                        if (geteventID >= 0) {
                           NSDictionary *ret = @{@"returnVal":[self currentWifiSSID]};
                           [self sendResultEventWithCallbackId:geteventID dataDict:ret errDict:nil doDelete:YES];
                       }

                } else if (CLLocationManager.authorizationStatus == kCLAuthorizationStatusDenied) {//如果用戶沒給權限,則提示
                    [UIAlertController alertControllerWithTitle:@"定位權限關閉提示" message:@"你關閉了定位權限,導致無法使用WIFI功能" preferredStyle:UIAlertControllerStyleAlert];
                } else {//請求權限
                    _locationManager.delegate = self;
                    [_locationManager requestWhenInUseAuthorization];
                }
            } else {
                    if (geteventID >= 0) {
                       NSDictionary *ret = @{@"returnVal":[self currentWifiSSID]};
                       [self sendResultEventWithCallbackId:geteventID dataDict:ret errDict:nil doDelete:YES];
                   }

            }

    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM