Background Modes not working with TestFlight Build

So, we've got a mobile app that is using background processing to occasionally scan for nearby BLE beacons. When running a debug / local build of the app, everything behaves as expected, but if we upload a build to TestFlight and install from there, the background processing doesn't happen.

This behavior would seem to point to a capability in the App ID not being provisioned, but when I look in the Identifiers section of Apple Developer, Background Modes as a capability isn't listed for either the existing Application Identifier or when creating a brand new one. The app has the Background Modes capability assigned if I look at it in XCode.

Any thoughts as to where to look next or what I'm missing?

Replies

when I look in the Identifiers section of Apple Developer, Background Modes as a capability isn't listed

Right. The Background Modes capability is not an entitlement. Rather, it results in values being set in the UIBackgroundModes property in your Info.plist.

And that kinda undermines your (otherwise reasonable) theory that this is related to the code signing done by TestFlight, because while it’s possible to imagine that dropping an entitlement [1], it’s hard to imagine it monkeying with your Info.plist.

Is this a new app? Or do you have an older version of app on the store? And if it’s the latter, does this feature work correctly in the app on the store?

Share and Enjoy

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

[1] I’ve not actually seen that, mind you, it’s just possible to imagine it.

That makes sense (entitlement vs. Info.plist) and yeah, I can't see where the signing would affect that. The app is an existing app, but this functionality is net new for our upcoming release, so we don't have any existing "working" deployed versions available. I'll dig into this some more and be back with more questions... maybe. 😂 This definitely helps narrow down my potential area of problems though.