https://github.com/microg/UnifiedNlp
UnifiedNlp allows you to choose the backends your Android device uses to determine the location, without providing any data to Google. Options include:
- Mozilla Location Services: https://f-droid.org/en/packages/org.microg.nlp.backend.ichna...
- Apple Location Services: https://f-droid.org/en/packages/org.microg.nlp.backend.apple...
- OpenCellID (offline): https://f-droid.org/en/packages/org.gfd.gsmlocation/
- Radiocells.org (optionally offline): https://f-droid.org/en/packages/org.openbmap.unifiedNlp/
- Déjà Vu (offline cache using Wi-Fi and cellular data): https://f-droid.org/en/packages/org.fitchfamily.android.deja...
The easiest way to use microG is to switch to an Android distribution that has it preinstalled:
- CalyxOS (supports Google Pixel 2 and later): https://calyxos.org
- LineageOS for microG (supports all devices supported by LineageOS): https://lineage.microg.org
- /e/ (some overlap with LineageOS, but also supports different devices): https://e.foundation
You can't use an iPhone without Apple services, period. An Apple ID is a hard requirement to activate an iOS device, it literally won't let you past that screen without one. Even after you're done with that, you can only install apps from the app store, subject to that unfair, opaque approval process.