BLE app getting suspended when running in Background

I have an app which scans for BLE peripherals. It never connects to the peripherals - it simply parses the adverisement packet. I have 'bluetooth-central' in the .plist file.


The app works well in the Foreground. The problem occurs when it runs in the Background. It gets suspended after varying amounts of time (on the order of hours, not minutes). I have inserted log msgs into my code. The last thing I see is the app goes into Background State and is never awakened.


If I bring the app to the foreground, it resumes BLE communication.


As far as I can tell, this is a new behavior. It never occured in iOS 11. I don't have enough info yet to definitively say it was introduced with iOS 12, but it is a possibility.


2 questions:

1) has iOS 12.x intopduced tighter restrictions on apps using BLE in the background?

2) how can I prevent my app from being put to sleep while in the background?


Any help is appreciated!