2017-11-28 12 views
0

WiFi/2G/3G/4Gは認識できますが、状態がWiFiホットスポットの場合はAFNetworkReachabilityManagerまたはReachabilityもWiFiとして状態を認識します。この要件を達成するのを手伝ってください、ありがとうございます。ネットワーク状態がiOSのWiFiホットスポットであるかどうかを知る方法

+0

の可能な複製を[非公開APIのとiOSの中で有効にホットスポットを検出](https://stackoverflow.com/questions/31220371/detect-hotspot-enabling-in -ios-with-private-apis)を使用します。この質問には、プライベートAPIを使用しない回答も含まれています。 –

+0

@RemcoBeugelsその質問は、現在の電話機でホットスポットが有効になっているかどうかを検出することです。私はOPが現在の電話がホットスポットに接続されているかどうか(適切なアクセスポイントかどうか)を尋ねていると思っています。 –

答えて

-1

私は正しい方法発見した:

- (void)startMonitorWifiChange { 
    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), 
            NULL, 
            &onNotifyCallback, 
            CFSTR("com.apple.system.config.network_change"), 
            NULL, 
            CFNotificationSuspensionBehaviorDeliverImmediately); 
} 
static void onNotifyCallback(CFNotificationCenterRef center, 
          void *observer, 
          CFStringRef name, 
          const void *object, 
          CFDictionaryRef userInfo) { 
    if (CFStringCompare(name, CFSTR("com.apple.system.config.network_change"), kCFCompareCaseInsensitive) == kCFCompareEqualTo) { 
     //TODO when wifi changed 
     [[BaiduLocationManager sharedManager].baiduLocationManager requestNetworkState]; 
    } 
    else { 
     NBLog(@"intercepted %@", name); 
    } 
} 
- (void)stopMonitorWifiChange { 
    CFNotificationCenterRemoveObserver(CFNotificationCenterGetDarwinNotifyCenter(), 
             NULL, 
             CFSTR("com.apple.system.config.network_change"), 
             NULL); 
} 
関連する問題