WhatsApp
のようないくつかのアプリケーションでは、インターネットに接続されていないメッセージを送信してアプリを終了(終了)すると、インターネットが復帰したときにメッセージが送信されます。iOSのインターネット接続を確認する
私は同じことをやろうとしています。特定のタスクを実行するために、アプリが実行されていないときやフォアグラウンドでインターネット接続を確認する方法があるのだろうかと思います。
WhatsApp
のようないくつかのアプリケーションでは、インターネットに接続されていないメッセージを送信してアプリを終了(終了)すると、インターネットが復帰したときにメッセージが送信されます。iOSのインターネット接続を確認する
私は同じことをやろうとしています。特定のタスクを実行するために、アプリが実行されていないときやフォアグラウンドでインターネット接続を確認する方法があるのだろうかと思います。
例:
Reachability *reachability = [Reachability reachabilityForInternetConnection];
NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus];
if (remoteHostStatus == NotReachable) {
// not reachable
} else if (remoteHostStatus == ReachableViaWiFi) {
// reachable via Wifi
} else if (remoteHostStatus == ReachableViaWWAN) {
// reachable via WWAN
}
編集
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Initialize Reachability
Reachability *reachability = [Reachability reachabilityWithHostname:@"www.google.com"];
// Start Monitoring
[reachability startNotifier];
//your code
return YES;
}
ネットワークインターフェイスの変更は、reachabilityDidChange:
が呼び出されるたびに
- (void)reachabilityDidChange:(NSNotification *)notification{
Reachability *reachability = [Reachability reachabilityForInternetConnection];
NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus];
if (remoteHostStatus == NotReachable) {
// not reachable
} else if (remoteHostStatus == ReachableViaWiFi) {
// reachable via Wifi
} else if (remoteHostStatus == ReachableViaWWAN) {
// reachable via WWAN
}
}
これで問題は解決します。
このコードはアプリを開くことができるかもしれませんが、アプリを閉じる(終了する)ときにそれを処理する方法があるのだろうかと思います。 –
あなたは[バックグラウンドアプリの更新](https://developer.apple.com/documentation/uikit/core_app/managing_your_app_s_life_cycle/preparing_your_app_to_run_in_the_background/updating_your_app_with_background_app_refresh)を必要とするようにあなたはアプリがある一方で、後にメッセージを送りたい場合、それが聞こえます前景ではありません。 –
しかし、バックグラウンドアプリのリフレッシュは、アプリが終了していないときに開くようにしてください。 –
システムは、アプリを["終了"状態]から再起動します(https://developer.apple.com/library/content/documentation/iPhone/Conceptual/ユーザー**が強制終了しない限り、iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#// apple_ref/doc/uid/TP40007072-CH4-SW7)。アプリケーションがシステムによって終了された場合、またはデバイスが再起動された場合でも、アプリはバックグラウンドに再起動されます。 –