iOSは、現在の携帯電話に接続されているWi-Fiの情報を取得します

iOS14以降、Wi-Fi情報を取得する際に位置情報の許可をONにしないとWi-Fi情報が取得できないため、この落とし穴をずっと探していました。同じ問題を抱えている人に役立つことを願っています。

このキーと値のペアを必ず plist ファイルに追加してください。そうしないと、Wi-Fi 情報を取得できません。

 

    if ( @利用可能(iOS 14.0, *)) {

        BOOL isFullAccuracy = self .localmanager.accuracyAuthorization == CLAccuracyAuthorizationFullAccuracy;

            if (!isFullAccuracy) {

                // ユーザーに適用して、正確な位置情報の許可を一時的に有効にします

                [ self .localmanager requestTemporaryFullAccuracyAuthorizationWithPurposeKey:@"WantsToGetWiFiSSID"];

            }

        [NEHotspotNetwork fetchCurrentWithCompletionHandler:^(NEHotspotNetwork * _Nullable currentNetwork) {

            self .detail.ssid = currentNetwork.SSID;

            self .detail.mac = currentNetwork.BSSID;

            self .nameLb.text = currentNetwork.SSID;

        }];

    }その他{

        //現在接続中のWi-Fiデータを取得

         CFArrayRef myArray = CNCopySupportedInterfaces();

         if (myArray != nil ) {

             CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));

             if (myDict != nil ) {

                 NSDictionary*dict = (NSDictionary*)CFBridgingRelease(myDict);

         NSLog(@"wifi情報%@", dict);

                ssid = [dict valueForKey:@"SSID"];

         self .detail.ssid = ssid;

         自己.nameLb.text = ssid;

         self .detail.mac = [dict valueForKey:@"BSSID"];

   

             }

         }

    }

おすすめ

転載: blog.csdn.net/ForeverMyheart/article/details/113887290