2016-12-12 1 views
1

WiFi 네트워크에 자동으로 연결해야하는 iOS 앱을 만들고 있습니다. 우리는 승인 된 Apple의 NEHotspotHelper 확장 프로그램을 요청했습니다.NEHotspotHelper.register에게 전화를 걸지 마십시오.

이제 WiFi 네트워크에 자동으로 연결하려고합니다. 그러나 메소드 NEHotspotHelper.register에 대한 호출은 결코 반환되지 않습니다. 본인은 앱의 자격 부여 파일에 com.apple.developer.networking.HotspotHelper 자격을 추가했으며 상기 자격 부여가 활성화 된 새로 생성 된 프로비저닝 프로파일을 사용하고 있습니다. 지난주부터 그것을 얻으려고 노력했습니다. 나는 붙잡기가 어렵다고 생각하는 작은 물건처럼 보입니다. 도와주세요.

다음은 내 코드 어떤 도움을 매우 높이 평가된다

if let strWiFi = UserDefaults.standard.value(forKey:"WiFiSSID") as? String { 
    let queue = DispatchQueue(label: "com.mycompany.myapp") 
    NEHotspotHelper.register(options: nil, queue: queue, 
    handler: {(_ cmd: NEHotspotHelperCommand) -> Void in 
    if cmd.commandType == .evaluate || cmd.commandType == .filterScanList { 
    var hotspot:NEHotspotNetwork? 
    for network: NEHotspotNetwork in cmd.networkList! { 
    print("network name:\(network.ssid)") 
    if (network.ssid == strWiFi) { 
    network.setConfidence(.high) 
    let strPassword = UserDefaults.standard.value(forKey:"WiFiPassword") as? String 
    network.setPassword(strPassword!) 
    hotspot = network 
    } 
    } 
    let response = cmd.createResponse(.success) 

    if(hotspot != nil) { 
    response.setNetwork(hotspot!) 
    } 

    response.deliver() 
    } 
    }) 

입니다!

편집 : 나는 분리 시도 후 다시 무선 랜에 다시 연결하면 지금 그것은 등록은 성공하지만 현재 연결된 네트워크의 세부 사항을 반환합니다. 주변의 모든 WiFi 네트워크에 대한 세부 정보가 필요합니다.

답변

1

설정에 입력해야합니다 - Wi-fi, 도우미는 화면에 입력 만 실행하면 자동 연결도 시도했지만 사용자가 처음 연결할 네트워크를 선택해야합니다. 사용자가 네트워크를 한 번 연결하도록 선택한 경우 다음에 자동 연결될 수 있습니다 (유지 관리 명령에 입력 될 수 있음).

자세히보기 : https://forums.developer.apple.com/message/138756#138756

관련 문제