Background Task Execution - Doesn't Seem Consistent

I have an app, that when enters the background schedules a task to run. The earliest possible time value is set, as is the completion handler when the task eventually runs. It seems to run pretty reliably for the 1st few interations and then (from looking at the streaming Console logs), doesn't seem to reach a high CP score to execute next time around. eg

'......background.task:EDBC23' CurrentScore: 0.648418, ThresholdScore: 0.808034 DecisionToRun:0

looking at the previous entries before this, I can see the breakdown...

	{name: Application Policy, policyWeight: 50.000, response: {0, 0.35}}
	{name: Device Activity Policy, policyWeight: 5.000, response: {0, 0.50}}
 ], Decision: CP Score: 0.648418}

and I understand certain elements are outside of our control; however, is there a preferred method to get a background task (which ultimately runs an API call) to trigger consistently? The silent-push method has come up a few times - but of course, if the user disables / doesn't consent to push notifications, that fails

Any suggestions?

Lemme start you out with iOS Background Execution Limits. Please read that through and then post back here if you have follow-up questions.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Background Task Execution - Doesn't Seem Consistent
 
 
Q