0

iOS でアプリをバックグラウンドから再開すると、次の問題が発生します。インターネットへの接続が 3G または WIFI の場合、すべて正常に動作します。データ接続 (Wi-Fi やモバイル) がない場合でも、すべて問題ありません。

しかし: モバイル接続が悪いのに Ti.Network.online が true を返す場合、またはインターネットにアクセスできない WIFI 接続がある場合、アプリは再開後に「ハング」し、最終的にクラッシュします。デバイス ログに「時間内に再開できませんでした」と表示されます。これは、「再開」イベント リスナーを追加しない場合でも発生します。

これについて私に提案してください。

コードは次のとおりです。

self.expirationHandler = 
^{
     [app endBackgroundTask:self.bgTask];
      self.bgTask = UIBackgroundTaskInvalid;
      self.bgTask = [app beginBackgroundTaskWithExpirationHandler:self.expirationHandler];
      DLog(@"Expired");
      self.jobExpired = YES;
      while(self.jobExpired)
 {
            DLog(@"Spin the While loop to run the app in infinite");

 }
        // Restart the background task so we can run forever.
        [self runtheApp:nil];
    };
    self.bgTask = [app beginBackgroundTaskWithExpirationHandler:expirationHandler];

    [self startLoggerInBackground];
}
4

0 に答える 0