Ho creato un campione che esegue il polling della connettività anziché fare affidamento sulla notifica. Quindi, semplicemente usando l'esempio Raggiungibilità e verificando la connettività, puoi determinare se sei ancora connesso.
- (NetworkStatus)currentReachabilityStatus
{
NSAssert(_reachabilityRef != NULL, @"currentNetworkStatus called with NULL SCNetworkReachabilityRef");
NetworkStatus returnValue = NotReachable;
SCNetworkReachabilityFlags flags;
if (SCNetworkReachabilityGetFlags(_reachabilityRef, &flags))
{
if (_alwaysReturnLocalWiFiStatus)
{
returnValue = [self localWiFiStatusForFlags:flags];
}
else
{
returnValue = [self networkStatusForFlags:flags];
}
}
return returnValue;
}
In questo modo è possibile stabilire quale stato di connettività è invece di sperare di ricevere la notifica in tempo.
Cinque secondi è abbastanza buono, IMO – Undo
Non abbastanza buono se si risponde alle chiamate di rete che iniziano a fallire prima mano. – cynistersix