How do I automatically enable Personal Hotspot when my Bluetooth device is in range? (Similar to Tasker for Android)
I use a spare smartphone with no SIM card as a navigation tool in my car. This works fine with offline maps, but I can't use things like Waze. I also have an iPhone which I carry around with me, which does have a SIM card.
I wanted to know if there was a way to have the iPhone automatically start its Personal Hotspot tethering when it sees the other phone is in range via Bluetooth.
This would allow data access to the SIM-free smartphone only while I was in my car, which would be a perfect solution similar to what the Tasker app on Android can do. Perhaps something like the Workflow app would help?
There's a way to do this if you're jailbroken with tweak called Activator by Ryan Petrich, and unfortunately it's the only solution because regular App Store apps aren't allowed to access settings like Bluetooth, Wi-Fi, and Personal Hotspot (even Workflow cannot access them).
If you happen to be jailbroken, the way to do this with Activator is to go Settings > Bluetooth > On
then Settings > Activator > Anywhere > Bluetooth Devices > Connected to [your Bluetooth device]
and assign it to Switches > Hotspot
. You might also want to assign the Disconnected from [your Bluetooth device]
event to the same action, so when you connect Bluetooth, your hotspot turns on, and when you disconnect Bluetooth, your hotspot turns off. If Switches > Hotspot
doesn't appear in the list of available assignments, then you'll also need to install Flipswitch by the same author.
For use on iOS 9 and 10, see Doron Gold's comment below on how to set it up.
This is not possible in vanilla iOS.
EDIT: Here's a Stack Overflow question that proves that there is no API for it: link
If there is no API, unless Apple provides the functionality it can't happen. And Apple does not provide any method of doing this as far as I can tell.