You can use objc_util to check your connection type.

from objc_util import * NWPathEvaluator = ObjCClass('NWPathEvaluator') connection = NWPathEvaluator.sharedDefaultEvaluator() def isOnWifi(): info=connection.path() if info.isExpensive(): #on cellular data return False #Not on wifi elif info.status() == 2: #no connection return False #Not on wifi elif info.status() == 1: #on wifi return True #Wifi! else: return None #Unknown or Error

Will continue to see if there’s a way to retry a connection....