제 질문은 IOS의 개인 API에 관한 것입니다. WiFi 연결을 관리 할 수있는 API가 있습니까? 예를 들어 Apple80211.framework를 사용하여 WiFi 네트워크를 검색하지만 연결하는 데 사용할 수 없습니다.ios에서 프로그래밍 방식으로 WiFi에 연결하십시오.
내 앱은 앱 스토어 용입니다.
제 질문은 IOS의 개인 API에 관한 것입니다. WiFi 연결을 관리 할 수있는 API가 있습니까? 예를 들어 Apple80211.framework를 사용하여 WiFi 네트워크를 검색하지만 연결하는 데 사용할 수 없습니다.ios에서 프로그래밍 방식으로 WiFi에 연결하십시오.
내 앱은 앱 스토어 용입니다.
나는 작년에이 문제에 부딪쳤다. 그리고 꽤 많이 파고 들자 나는 SOLStumbler라는 유용한 예를 발견했다. 이 응용 프로그램이 작동하려면 장치가 jailbroken해야합니다. SOLStumbler를 수정하고 github에서 샘플 앱을 포기했습니다. IPConfiguration 번들을 사용하여 Apple80211 프레임 워크에 액세스하므로 네트워크에 연결할 수 있습니다. 추가 정보에는 사용자 지정 빌드 지침이 들어 있습니다.
개인 API 더 이상 필요 없음! iOS 11을 사용하면 Apple은 앱을 떠나지 않고도 프로그래밍 방식으로 Wi-Fi 네트워크에 참여할 수있는 공개 API를 제공했습니다.
사용할 클래스는 NEHotspotConfiguration
입니다.
사용하려면 앱 기능 (Adding Capabilities)에서 Hotspot
기능을 사용하도록 설정해야합니다. 빠른 작업 예 :
NEHotspotConfiguration *configuration = [[NEHotspotConfiguration
alloc] initWithSSID:@“SSID”];
configuration.joinOnce = YES;
[[NEHotspotConfigurationManager sharedManager] applyConfiguration:configuration completionHandler:nil];
"SSID"WiFi 네트워크에 가입하라는 메시지가 표시됩니다. 사용자가 앱을 종료 할 때까지 Wi-Fi에 계속 연결됩니다.
이 코드를 실제 장치로 실행해야 작동되는 시뮬레이터에서 작동하지 않습니다. 여기
더 많은 정보 : https://developer.apple.com/documentation/networkextension/nehotspotconfiguration
우리는 프로그래밍 IOS (11) 공개 API 후에 와이파이 네트워크를 연결할 수 있습니다. 다음과 같이 ssid와 비밀번호를 사용하여 wifi를 연결할 수 있습니다.
스위프트
var configuration = NEHotspotConfiguration.init(ssid: "wifi name", passphrase: "wifi password", isWEP: false)
configuration.joinOnce = true
NEHotspotConfigurationManager.shared.apply(configuration) { (error) in
if error != nil {
//an error accured
print(error?.localizedDescription)
}
else {
//success
}
}
import NetworkExtension
그것은 구성 프로파일을로드 할 수 있습니다 모든 iOS 버전에서 가능 잊지 마세요 : 앱이 원하는 네트워크 자격 증명을 사용하여 프로파일을 생성해야하고, 호스트 프로필을 모바일 사파리에 제공하는 웹 서버.