iOS開發獲取Wi-Fi信息,訪問iOS蘋果開發平臺設置Wi-Fi權限很慢解決方案

iOS開發獲取Wi-Fi信息,在訪問iOS蘋果開發平臺設置Wi-Fi權限很慢解決方案

原因:1.通過本機ping 得到

           macs-iMac-2:~ mac$ ping developer.apple.com
           PING world-gen.g.aaplimg.com (17.253.69.201): 56 data bytes

        2.用得到這個IP 17.253.69.201 在 http://www.ip138.com/ 中查詢

        3.得到

  • 本站數據:日本 東京 蘋果公司
  • 參考數據1:日本東京都東京
  • 參考數據2:美國
  • 兼容IPv6地址:::11FD:45C9
  • 映射IPv6地址:::FFFF:11FD:45C9

     這個地址是日本的,所以很慢,解決方案如下:

    1.修改本機hosts文件添加國內的

       在hosts文件最下面添加:

                                              17.253.85.202 developer.apple.com
                                              17.253.85.201 devstreaming-cdn.apple.com

   2.然後在去訪問,你會發現快了很多哦!

   3.進入hosts文件快捷方式

快捷鍵 command + shift +G

輸入前往文件夾 /etc/hosts

然後獲取當前連接的wifi信息的函數(SSID和SSIDDATA)

+ (NSString*)getCurrentWifi

{

    NSString*wifiName =nil;

    NSData*SSIDDATA =nil; 

    CFArrayRef myArray = CNCopySupportedInterfaces();

    if(myArray !=nil)

    {

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

        if(myDict !=nil)

        {

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

            wifiName = [dictvalueForKey:@"SSID"];

            SSIDDATA = [dictvalueForKey:@"SSIDDATA"];

        }

    }

    if(wifiName !=nil&& SSIDDATA !=nil)

    {

        NSString *UTF8WifiName = [[NSString alloc] initWithData:SSIDDATA encoding:NSUTF8StringEncoding];

        if(UTF8WifiName == nil)

        {

            //用GBK解碼

            NSStringEncoding gbkEncoding=CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

            NSString*GBKWifiName = [[NSStringalloc]initWithData:SSIDDATAencoding:gbkEncoding];

            //轉化爲UTF-8

            NSCharacterSet*allowedCharacters = [[NSCharacterSetcharacterSetWithCharactersInString:GBKWifiName]invertedSet];

            NSString*encodedUrl = [GBKWifiNamestringByAddingPercentEncodingWithAllowedCharacters:allowedCharacters];

            wifiName = [encodedUrlstringByRemovingPercentEncoding];

        }

    }

    returnwifiName;

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章