Kobe
참가자
- 글작성 : 0
- 답글작성 : 2
안녕하세요 🙂
stack overflow에서 비슷한 질문을 한 게시글을 찾았습니다.
질문은 다음과 같았습니다:
“안녕하세요, 저는 연결된 Wi-Fi 네트워크의 데이터(SSID, BSSID)를 얻기 위해 CNCopyCurrentNetworkInfo를 사용하고 있습니다. 하지만 이 링크 CNCopyCurrentNetworkInfo 공식문서에 따르면 이 메소드는 Deprecated(더 이상 사용되지 않음)되었고,
대신 HotspotHelper의 메소드인 fetchCurrentWithCompletionHandler 공식문서를 사용하는 것이 가능한 해결책으로 제시되어 있습니다.
저는 HotspotHelper에서 사용되는 권한 (com.apple.developer.networking.HotspotHelper)을 받기 위해 networkextension@apple.com에 이메일을 보냈지만 거절당했습니다.
다른 가능한 해결책이 있을까요?”
그에 대한 답변은 아래와 같았습니다:
apple developer forums 답변을 받았습니다.
fetchCurrentWithCompletionHandler: 는 Hotspot Helper 권한을 요구하지 않습니다.
불행히도 이 사실은 공식적으로 문서화되어 있지 않습니다 (r. 74976266).
다행히, <NetworkExtension/NEHotspotNetwork.h>의 문서 주석에 이 메소드에 대한 많은 유용한 정보가 있습니다.
여기 구현된 예시가 있습니다:
if (@available(iOS 14.0, *)) {
[NEHotspotNetwork fetchCurrentWithCompletionHandler:^(NEHotspotNetwork * _Nullable currentNetwork) {
NSString *strSSID = [currentNetwork SSID];
}];
} else {
NSArray *ifs = (__bridge_transfer NSArray *)CNCopySupportedInterfaces();
NSDictionary *info;
for (NSString *ifnam in ifs) {
info = (__bridge_transfer NSDictionary *)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
if (info && [info count]) {
NSString *strSSID = [info objectForKey:@"SSID"];
break;
}
}
}
참고 자료
2024-01-12 오후 12:58
#61088