はい、Apple が提供する Reachability と呼ばれるクラスを使用してインターネット接続ステータスを確認し、NSNotificationCenter を使用してインターネット接続ステータスを待機し続けることができます。したがって、上記の @trojanfoe による方法を使用して、スコアを mysql データベースに送信できます。
インターネットの状態を確認するには、まず到達可能なホストがあるかどうかを確認します。到達可能な場合は、インターネット接続があることを理解しています。
- (BOOL)verifyInternetStatus
{
Reachability *reachable = [Reachability reachabilityWithHostName:@"www.google.com"];
NetworkStatus internetStatus = [r currentReachabilityStatus];
if (internetStatus == NotReachable) {
// there's not internet connection, therefore we save the scores locally
}
else {
// send the scores to the database
}
}
インターネットの状態が変化すると、 Reachability クラスは NSNotificationCenter を介してオブザーバーに、キーを使用してインターネットの状態が変化したことを通知しますkReachabilityChangedNotification
。したがって、クラスをこのキーのオブザーバーとして追加する必要があります。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(verifyInternetStatus:)
name:kReachabilityChangedNotification
object:nil];
これはそのための 1 つの方法です。verifyInternetStatus
スコアを送信する場合は、スコアを送信するかローカルに保存するメソッドを呼び出します。
お役に立てば幸いです。
編集:
申し訳ありませんが、クラスを忘れてしまいました:
https://developer.apple.com/iphone/library/samplecode/Reachability/index.html