0

私は RestKit (私が抱えている問題に関連する場合と関連しない場合があります) を利用するアプリで作業しています。このアプリでは、特定の間隔の後に数秒間ウェイクアップし、サーバーに対して managedObjectRequestOperation を作成します。これは一日中完全に機能しますが、通常、デバイスが充電されている午前1時から午前7時の間、数時間使用されていないため、リクエストが送信されますが、応答は登録されません.

リクエストがタイムアウトしたり、その他の同様のエラーが発生したりしているようには見えません。私のログには、リクエストを送信していることが記録されていますが、何も起こらず、応答もエラーもありません... 電話はある種の昏睡状態になりますか? -モードオーバーナイト? 私のデバイスは、iOS7 を実行している iPhone 5 です。

編集:

私が基本的に行っていたのは、サーバーにリクエストを送信し、その結果でコア データを更新することです。これにより、tableView が更新されます。私の元の実装では、基本的に NSNotification をアプリに送信しました。これは、テーブルビューにリクエストを送信し、結果に従って更新するように指示します。

-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    [[NSNotificationCenter defaultCenter] postNotificationName:@"RefreshData" object:nil];

    completionHandler(UIBackgroundFetchResultNewData);
}

実際にこれを行う必要がある場合:

-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    [RefreshDataWithCompletionHandler:(void (^)(id result))completionHandler {
         // handle updating the data here based on the result of the request to the server
         ......

         // then call the completion handler here
         completionHandler(UIBackgroundFetchResultNewData); 
   }];
}

それは正しい手順をより正確に表していますか?

4

1 に答える 1