Ios App to find users nearby

Hello,
I am a new to Estimote, however, I have a question about ios app development. Is it possible to have an app that detect other users nearby, who also have the app? Note that this should include the cases when the other users have the app terminated on their phone. But all users will always keep their bluetooth on. Would this involve having each iPhone work as an iBeacon and each iPhone would have its own beacon region that can detect when others are inside?

I am confused to how I implement something where I could detect nearby users, even those who do not have the same app open on their phone, but they are constantly keeping their bluetooth on.

I don’t want to use constant GPS location monitoring because that drains too much battery.

Please let me know if there are any solutions you guys can think of.

Thanks!

All users will definitely need an app installed.

iOS apps can only advertise iBeacon data in the foreground.

You could try looking at CBPeripheralManager and CBCentralManager, and having users connect to each others’ iPhones. (Each device acts as a peripheral, and also scans for other peripherals and connects to them to learn their ID or other data.) Although I’ve never tried this, so I’m not sure if this is viable or not. And this probably wouldn’t work well in the background too.

Might be worth asking on Stack Overflow and/or Apple Developer forums as well.

If you’re okay with only targeting specific areas, you could do:

  1. Put a beacon in that area.
  2. Have the app detect the beacon.
  3. When the app detects the beacon, it sends an information to a central backend/server, “user X is near beacon/area A”.
  4. This way, the server knows which users are in which areas, and can propagate this information to the apps. (“user X => other users in your area: user Y, user Z”).