Apple Reachability サンプル コードの Reachability クラスは、ユーザーがデバイスを機内モードにすると、かなり遅れて起動するようです。ユーザーが機内モードに移行してから実際の通知までに約 5 秒のギャップがあります。
通知を早く受け取る方法はありますか?またはこのOSの新しい方法ですか?
Apple Reachability サンプル コードの Reachability クラスは、ユーザーがデバイスを機内モードにすると、かなり遅れて起動するようです。ユーザーが機内モードに移行してから実際の通知までに約 5 秒のギャップがあります。
通知を早く受け取る方法はありますか?またはこのOSの新しい方法ですか?
通知に頼るのではなく、接続をポーリングするサンプルを作成しました。したがって、Reachability サンプルを使用して接続を確認するだけで、まだ接続されているかどうかを判断できます。
- (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;
}
このようにして、時間通りに通知を受け取ることを期待する代わりに、接続状態がどのようなものかを知ることができます.