iphone - 如何在后台反复向服务器发送请求?

标签 iphone objective-c ios

在我的应用程序中,我需要在特定的时间间隔(例如1小时)后发送请求到服务器以获取xml,以获取最新数据。我想在后台执行此 Activity 。

提前致谢!

最佳答案

使用NSTimer重复请求,如果您想在后台线程中执行请求,则应该执行以下操作:

backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler: ^{
                    [[UIApplication sharedApplication] endBackgroundTask:backgroundTask];
                    backgroundTask = UIBackgroundTaskInvalid;
                 }];


dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    //start url request
});

//after url request complete
[[UIApplication sharedApplication] endBackgroundTask:backgroundTask];
    backgroundTask = UIBackgroundTaskInvalid;

关于iphone - 如何在后台反复向服务器发送请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11578463/

相关文章:

iPhone API : SIP RTP SRTP ZRTP

objective-c - 将 iPhone 模拟器上的核心数据记录加载到 iPhone 4 的巨大速度差异

ios - NSMutableArray 和复制

ios - 如何使用 Xcode Storyboards 进行项目协作?

ios - 如何在 iOS 中为 NSThread 获取 "parent"线程?

ios - 推送透明背景的ViewController

iPhone - 连接字符串和数据库文件

iphone - 在 iOS 中访问媒体库

objective-c - 保留/释放计数问题。需要澄清

ios - 无法设置 self.navigationItem.backBarButtonItem