NSTimer fires later than configured when app in background mode on locked and not charging device

Originator:anivaros
Number:rdar://37386167 Date Originated:09.02.2018
Status: Resolved:
Product:iOS + SDK Product Version:iOS 10.3.3 - 11.3b2
Classification: Reproducible:Sometimes
 
Area:
Foundation

Summary:
NSTimer fires later than configured when app in background mode on locked and not charging device.

Steps to Reproduce:
1) Create app that works in background (sample project in attachment)
2) Run NSTimer with timeout 10 sec on some thread
3) Lock device
4) Unplug from charger
5) Wait (log.txt in attachment)

Expected Results:
Timer fires after 10 sec

Actual Results:
Timer fires after 10-500 sec

Version/Build:
iOS 10.3.3 - 11.3b2

Configuration:
iPad Air 2, iPhone X

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!