0

ホストの到達可能性を確認しようとすると、確認に時間がかかりすぎます。つまり、到達可能性からのフィードバックをさらに進めたいのですが、これで何ができるでしょうか。到達可能性チェックに 4 秒以上かかる場合はキャンセルし、アプリをオフライン モードで引き続き動作させたいと考えています。Reachabiltiy からフィードバックを受け取るまで、ユーザーをしばらく待たせたくありません。到達可能性に時間がかかりすぎる場合、何らかの方法でスキップできますか?

- (BOOL)isReachableWithHostName:(NSString *)hostname {
     BOOL reachable;
     Reachability *reachability = [Reachability reachabilityWithHostName:hostname];
     NetworkStatus internetStatus = [reachability currentReachabilityStatus];
     if (internetStatus == NotReachable) {
         reachable = NO;
     } else {
         reachable = YES;
     }

     return reachable;
}

- (BOOL)isGoogleReachable {
    return [self isReachableWithHostName:@"google.com"];
}

応答時間が 4 秒未満の場合に到達可能性からフィードバックを取得したい場合、どうすればよいですか。

4

1 に答える 1

1
  1. 非同期メソッドを使用します。到達可能性は、到達可能性が変化したときに通知を生成します。
  2. タイムアウトを追加し、NSTimer目的のタイムアウト後に到達できないと仮定して続行します。
于 2013-05-31T08:36:04.340 に答える