Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

trocar conexao wifi via codigo swift

olá, é possível trocar a conexão wifi a qual o aplicativo utiliza via aplicacao? pois as vezes falha a conexao, mas tem outra conexao disponivel...

obrigado

5 respostas

Oi Rafael,

td bom?

Você pode forçar o usuário a ir para a tela de escolha de rede algo como:

let url = URL(string: "App-Prefs:root=WIFI") //for WIFI setting app
let app = UIApplication.shared
app.openURL(url!)

Era essa a sua dúvida? Ou você quer trocar por uma rede que o app previamente já conheça?

Abraços

nao tem como fazer isso automaticamente?

obrigado

Oi Rafael,

automaticamente teria que ter sido implementado pelo SO. Pra gente desenvolvedor é a única forma de pedir que o usuário se conecte em alguma rede.

Não entendi muito bem para o que você precisa disso em um app. A ideia é não ter que se preocupar se a conexão está ativa?

Abraços

as vezes a conexao ta ativa mas fica sem trafegar dados, sem internet. temos uma aplicacao que roda em background e que precisa de internet. e temos mais de um ponto, por isso da pergunta.

obrigado

solução!

Oi Rafael,

parece que no iOS 11 surgiu uma classe nova que pode te ajudar nesse sentido.

https://developer.apple.com/documentation/networkextension/nehotspotconfiguration

Um exemplo de código seria esse:

let WiFiConfig = NEHotspotConfiguration(ssid: "MINHA_REDE",
                                                  passphrase: "123456789",
                                                  isWEP: false)

    WiFiConfig.joinOnce = false
    NEHotspotConfigurationManager.shared.apply(WiFiConfig) { error in
        // Handle error or success
        print(error?.localizedDescription)
    }