Hi,
As you probably know, iBeacons don't give an exact distance, but use ranges "Immediate, Near, Far".
It sounds like you want to monitor the "Immediate" range.
We can receive a notification on crossing that boundary, whether the app is running, backgrounded, or not running.
The response is slightly different in each case, but that should cover what you need.
I develop apps for iPhone/iPad and Mac, using Xcode and Swift.
You can see some examples of my work, and client reviews of my completed projects, on my Freelancer profile page.
If you'd like to reply to this message, we can discuss things further, before you make your decision on awarding the project.
Best Regards,
- Rob Dixon.