Notice
Recent Posts
Recent Comments
Link
투케이2K
574. (ios/swift5) [간단 소스] CNCopySupportedInterfaces 사용해 현재 연결 된 와이파이 SSID , BSSID 정보 확인 방법 본문
IOS
574. (ios/swift5) [간단 소스] CNCopySupportedInterfaces 사용해 현재 연결 된 와이파이 SSID , BSSID 정보 확인 방법
투케이2K 2024. 12. 1. 00:09[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift
- 개발 툴 : Xcode
- 사전) CNCopySupportedInterfaces 설명 :
>> Captive Network Support 가 모니터링하고 있는 모든 네트워크 인터페이스의 이름을 반환합니다
>> CNCopySupportedInterfaces 는 iOS 4.1 이상 , 아이패드OS 4.1 이상 , 맥OS 10.8+ , 비전OS 1.0+ 에서 사용할 수 있습니다
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
func testMain() {
S_Log._D_(description: "테스트 함수 시작 실시", data: nil)
/*
// -----------------------------------------
1. 필요 import :
import NetworkExtension
import SystemConfiguration.CaptiveNetwork
// -----------------------------------------
2. 필요 권한 : 위치 권한 Location
Privacy - Location Always Usage Description
Privacy - Location Always and When In Use Usage Description
// -----------------------------------------
3. MARK: xcode 프로젝트 NEHotspotNetwork 사용 설정 방법 : [Access Wi-Fi Information]
- 사전) 유료 결제를 진행한 개발자 계정이 필요 (or 개발자 초대)
- Xcode 프로젝트 설정 >> Capabillity >> Access Wi-Fi Information 추가
- 프로젝트 entitlements 에서 추가한 Access Wi-Fi Information 권한이 정상 표시 되는 것 확인
- 프로젝트 설정 참고 사이트 :
https://blog.naver.com/kkh0977/223667701982
https://blog.naver.com/kkh0977/223669259799
// -----------------------------------------
*/
// ---------------------------------------------
// [로직 처리 실시]
// ---------------------------------------------
//*
DispatchQueue.main.async { // [비동기 요청]
if C_StateCheck().isWifiConnected() == true { // [와이파이 연결 된 상태]
var ssid = ""
var bssid = ""
if let interfaces = CNCopySupportedInterfaces() as NSArray? {
for interface in interfaces {
if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? {
ssid = interfaceInfo[kCNNetworkInfoKeySSID as String] as? String ?? ""
bssid = interfaceInfo[kCNNetworkInfoKeyBSSID as String] as? String ?? ""
S_Log._D_(description: "interfaceInfo 와이파이 정보 확인", data: [ "\(interfaceInfo)", "\(ssid)", "\(bssid)" ])
}
}
}
}
else {
S_Log._D_(description: "현재 연결 된 와이파이 SSID 정보 확인 실패", data: [ "[Error] : Wifi Connect False" ])
}
}
// */
// ---------------------------------------------
}
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[결과 출력]
// --------------------------------------------------------------------------------------
================================================================
LOG :: TYPE :: LOG :: 🟢
-------------------------------------------------
LOG :: CLASS PLACE :: A_Webview.swift :: testMain() :: 1464
-------------------------------------------------
LOG :: NOW TIME :: 2024-11-28 10:09:10
-------------------------------------------------
LOG :: DESCRIPTION :: interfaceInfo 와이파이 정보 확인
-------------------------------------------------
LOG :: {
BSSID = "58:86:94:c1:47:5c";
SSID = BAK02;
SSIDDATA = {length = 5, bytes = 0x42414b3032};
}
-------------------------------------------------
LOG :: BAK02
-------------------------------------------------
LOG :: 58:86:94:c1:47:5c
================================================================
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://developer.apple.com/documentation/systemconfiguration/1494829-cncopysupportedinterfaces
// --------------------------------------------------------------------------------------
반응형
'IOS' 카테고리의 다른 글
Comments