私のアプリはオープンソースios-ntp
フレームワーク ( https://github.com/jbenet/ios-ntp ) を使用しています。ローカル通知。
ただし、接続が失われるとアプリがクラッシュします。これは、時刻同期後に NTP ソケット接続が閉じられていないためでしょうか?
これが起こることです:
1) アプリをオンにし、タイムサーバーと同期させてから、アプリをバックグラウンド モードにします。
2) 機内モードをオンにするか、接続が WiFi から 3G ed に変わるまでしばらく待ちます。
3) アプリを再度開くと、クラッシュして次のメッセージが返されます。
Jun 25 09:00:11 iPhone App[460] <Warning>: NetworkClock|*** application -> Foreground
Jun 25 09:00:11 iPhone com.apple.launchd[1] (UIKitApplication:nl.app[0x8f48][460]) <Warning>: (UIKitApplication:nl.app[0x8f48]) Exited abnormally: Broken pipe: 13
Jun 25 09:00:11 iPhone backboardd[28] <Warning>: Application 'UIKitApplication:nl.app[0x8f48]' exited abnormally with signal 13: Broken pipe: 13
これを防ぐにはどうすればよいですか?NTP サーバーが見つからないため、NTP サーバーとの同期後に接続を閉じる方法はありますか。
AppDelegate
- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
[self checkForReachability];
}