Another program on my Mac is using my iPhone
GPSLarp can see that an iPhone is attached, and then stops without being able to say anything more about it. The message names another program rather than a fault on the phone.
This is the one obstacle on the whole list that has nothing to do with your iPhone, your cable or your network. macOS lets exactly one program at a time hold the connection to an attached iPhone. Something else on this Mac already has it, so GPSLarp is not being refused by the phone — it is standing in a queue of one behind another application on your own desk.
01The message, word for word
GPSLarp writes every sentence about your phone in its own source, so this is the whole of it and it does not vary:
Another program on this Mac is already talking to your iPhone, so GPSLarp could not get a look at it. Xcode, Finder and Apple Configurator all hold this connection open, as does a second copy of GPSLarp.
Two things about where that sentence appears catch people out, and both are deliberate.
It lands on the trust row, and it is not a trust problem
GPSLarp works out whether your iPhone trusts this Mac by asking the phone a question only a trusted, unlocked phone will answer. When another program holds the connection, that question cannot be asked at all — so the answer is missing from the row about trust, and that is the row the message appears on. Your phone's trust setting has not been read, has not been changed, and is almost certainly fine. Nothing on My iPhone won't trust this computer applies until you have cleared this first.
The rows underneath say "Not checked", and they mean it
Everything below the point where GPSLarp stopped reports Not checked — an earlier step has to be sorted out first. That is one problem shown honestly, not five more. The app checks your phone in dependency order and stops at the first step it cannot get past, because a check that never ran is not a check that failed — and reporting it as one would send you to fix things that were never looked at.
02Why only one program at a time
An iPhone attached to a Mac speaks a protocol Apple built for its own developer tools. Part of that protocol is a session: a program opens one, the phone treats that program as the one it is talking to, and a second program asking for a session is told the first one is still there. This is the operating system behaving correctly. It is not a limit GPSLarp imposes and there is no setting that lifts it.
GPSLarp reaches the phone through exactly the same door as Apple's own tools do, which is the whole design — nothing is installed on the iPhone, and no jailbreak is involved. See What does GPSLarp actually change on my iPhone? for the rest of that. The cost of using the standard door is that everything else using it is a rival for it.
03What is likely to be holding it
The app names four because they are the four that come up. Work down the list — the order is roughly how often each one turns out to be the answer.
01A second copy of GPSLarp
The most common one, and the easiest to miss, because the second window may be behind the first or on another Space. Check for more than one GPSLarp icon in the Dock, or open the Force Quit window with Command-Option-Escape and look for two entries. Quit the extra one.
02Finder
Selecting your iPhone in a Finder window's sidebar opens the connection and keeps it open for as long as that view is showing. You do not have to be syncing anything. Click away from the phone in Finder, or close the window. Finder itself never needs to be quit.
03Xcode
Xcode holds the connection whenever a device is selected as a run destination, and it keeps holding it while the Devices and Simulators window is open. Closing that window is usually enough; quitting Xcode certainly is.
04Apple Configurator
Same behaviour, and worth checking even if you do not remember opening it — it is a common leftover from setting up a device. Quit it.
05Then ask GPSLarp to look again
GPSLarp re-checks your phone on request rather than watching in the background, so nothing happens by itself after you quit the other program. Ask it to check again, and read the row it stops on this time. Every check it runs at this stage happens without your administrator password and finishes in well under a second.
04If that did not work
None of those four is running. The list is the common cases rather than the complete one. Anything built on Apple's device tooling behaves this way — a device-management agent installed by an employer, a backup or file-transfer utility, an older third-party phone tool left running in the menu bar. If you cannot find it, restarting the Mac releases every session there is, and unlike most advice of that shape it is aimed at a specific mechanism rather than at hope.
You quit it and the message is the same. A program that was force-quit rather than closed can leave its session held for a short while. Give it a moment and ask again. If it persists across a restart of the Mac, the message is more likely to be one of the other things GPSLarp could not read, which is a different page: GPSLarp says it couldn't check my iPhone.
Two iPhones are attached. Then the program holding one of them may not be holding the one you care about, and GPSLarp's checks behave in a way worth knowing about first — Can I use GPSLarp with more than one iPhone?.
The device list is empty rather than blocked. Different problem entirely, and the more common one: GPSLarp can't find my iPhone.
The honest limit of this page: it describes a session another program is holding and how to release it. Releasing it lets GPSLarp carry on checking the things it checks after this one — it is not a statement about what happens at the end of that list. Nobody in this project has watched a location change on a real iPhone from beginning to end, which is why every account gets a free run of each mode.