在iOS设备上强制早期调用后台任务到期处理程序进行测试

问题描述 投票:6回答:1

我正在测试和调试- beginBackgroundTaskWithExpirationHandler:中的到期块。

是否有一种方法可以强制Block调用,使其更快地发生,而不是每次都需要调试大约等待10分钟?

我对调试块中的实际代码不感兴趣,而是对调用顺序和回溯跟踪等感兴趣;这就是为什么我需要回调本身来执行的原因,但是每次10分钟太长了!

ios objective-c cocoa-touch background-process uiapplicationdelegate
1个回答
-2
投票

如果您要强制系统调用到期块,我认为无法做到这一点。但是,我建议您隔离后台任务块,然后使用NSTimer

进行调用

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay

至少那是我要怎么做。

意思是,您将直接使用NSTimer(隐式或显式)在到期处理程序中调用代码。因此,如果在到期处理程序中调用了处理到期的方法。然后,您将为在“后台任务”生命周期之外调用该方法设置一个计时器,但是您只能对其进行模拟。

© www.soinside.com 2019 - 2024. All rights reserved.