Aqui está um Applescript e um script de shell para verificar se o Airport está conectado e se não conectá-lo.
if (do shell script "networksetup -getinfo Wi-Fi | grep -c 'IP address:'") = 1 then
do shell script "networksetup -setairportnetwork en1 <networkName> <passwordToNetwork>"
end if
#!/bin/bash
if [ $(networksetup -getinfo Wi-Fi | grep -c 'IP address:') = '1' ]
then $(networksetup -setairportnetwork en1 <networkName> <passwordToNetwork>)
fi
Substitua pelo nome da rede e por sua senha. O "en1" deve estar correto se você não alterou seus dispositivos de rede.
Agora tudo que você precisa fazer é dar um loop ou ligar para verificar a conexão.
No entanto, o aeroporto deve se reconectar automaticamente se a conexão for perdida. Talvez tente redefinir todas as preferências de rede e ver se isso funciona.
Como redefinir completamente suas preferências de rede:
Desligue o aeroporto. Feche as Preferências do Sistema.
Navegue para: /Library/Preferences/SystemConfiguration/
Faça uma cópia e exclua os seguintes arquivos:
com.apple.airport.preferences.plist
com.apple.network.*
com.apple.smb.server.plist
NetworkInterfaces.plist