The problem is that you are force-killing the app via task manager (double-tap-swipe-up). When the user force-kills an app in this way, iOS assumes that the user is king, and does not want the app to be running. An app cannot be awakend when force-killed by the user for *any* reason until the user relaunches the app themselves.
An iBeacon can relaunch an app that is killed in any other way by the OS itself (out of memory, too much background processing, not giving the main run loop enough time to run, etc.), but not when it is killed by the user.
See this Stack Overflow post, which links to the relevant Apple developer docs and WWDC videos:
iBeacon can relaunch your app even if user force-killing the app, Pls look at his test scenario, the question is "bluetooth scan is triggered but can not receieve scan callback"