私のiPhoneアプリは機能するにはインターネットが必要です。いつインターネット接続を確認する必要があります
インターネット機能が実行されるたびに接続性をチェックする必要がありますか? また、私のappDelegateを使用して、到達可能性クラスのようなものからのメッセージをリッスンして、接続が失われたかどうかを判断し、ユーザーに警告する必要がありますか?
何が良いですか?ここで
は、私は私のアプリデリゲートで、これまで何をやったかです:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
reachability = [[Reachability reachabilityWithHostName:[NSString stringWithFormat:@"http://%@/iSql/" ,[[NSUserDefaults standardUserDefaults] stringForKey:@"serviceIPAddress"]]] retain];
[reachability startNotifier];
return YES;
}
- (void)reachabilityChanged:(NSNotification *)note {
NetworkStatus ns = [(Reachability *)[note object] currentReachabilityStatus];
if (ns == NotReachable) {
if (![networkAlert isVisible]) {
if ([self networkAlert] == nil) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"\n\nNo Internet Connection" message:@"You require an internet connection to retrieve data from the server." delegate:nil cancelButtonTitle:nil otherButtonTitles:nil];
[self setNetworkAlert:alert];
[alert release];
}
[networkAlert show];
}
} else {
if ([self networkAlert] != nil) {
[networkAlert dismissWithClickedButtonIndex:0 animated:YES];
}
}
}
私はこの答えが好きです - 私はこれが推奨されているAppleと同様の技術話をしていました。私は、必ずしも私の意見ではあまり親切ではない、別の答えごとに 'UIAlertView'を使ってアプリケーション全体をブロックすることを推奨するとは限りません! – lxt