5

Apple Reachability サンプル コードの Reachability クラスは、ユーザーがデバイスを機内モードにすると、かなり遅れて起動するようです。ユーザーが機内モードに移行してから実際の通知までに約 5 秒のギャップがあります。

通知を早く受け取る方法はありますか?またはこのOSの新しい方法ですか?

4

1 に答える 1

0

通知に頼るのではなく、接続をポーリングするサンプルを作成しました。したがって、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;
}

このようにして、時間通りに通知を受け取ることを期待する代わりに、接続状態がどのようなものかを知ることができます.

于 2014-10-21T22:09:17.543 に答える