The answer by radio
Phones have several radios that can link two devices with no internet, but not every one is open to apps on both platforms.
| Link | iPhone | Android | iPhone to Android |
|---|---|---|---|
| Bluetooth LE | Central and peripheral roles through Core Bluetooth | Central and peripheral roles | Yes, when both apps speak the same protocol |
| Multipeer Connectivity | Yes | No | No |
| Wi-Fi Direct | Not an Apple framework | Wi-Fi P2P API | No documented path |
| Wi-Fi Aware | iOS 26 and later, paired through Apple’s interfaces | Android 8.0 (API level 26) and higher, on supported hardware | Shared standard; test the exact pair |
| Nearby Connections | Swift library | Android library | Not stated in Google’s guides; test |
Bluetooth LE: the link both platforms open
Bluetooth Low Energy is the dependable answer. On iOS, CBPeripheralManager lets an app publish services in its GATT database and advertise them, and the central side scans and connects. Android offers the same two roles. Android’s BLE overview notes the catch: two devices that only support the central role cannot talk to each other, so at least one phone must advertise and host the data.
When both apps agree on a service and its characteristics, the iPhone and the Android phone exchange data without a shared network or a server. The constraints are BLE’s own: short pieces of data that larger messages are split across, and platform rules about what an app can do in the background. How do iPhone and Android phones message each other over Bluetooth? walks through the exchange and the background differences.
The Wi-Fi options
Multipeer Connectivity is Apple’s framework for discovering nearby devices and sharing messages, streams and files with them. On iOS it uses infrastructure Wi-Fi, peer-to-peer Wi-Fi and Bluetooth personal area networks. It is available on Apple platforms only, so an Android phone cannot take part.
Wi-Fi Direct lets devices with the right hardware connect to each other over Wi-Fi without an access point. Android exposes it to apps as the Wi-Fi P2P API, which works when each device supports Wi-Fi P2P. It is a good fit between Android phones; Wi-Fi Direct has more. For an iPhone, Apple’s documented peer-to-peer Wi-Fi options for apps are Multipeer Connectivity and Wi-Fi Aware, so do not plan an iPhone-to-Android feature on Wi-Fi Direct.
Wi-Fi Aware, also called Neighbor Awareness Networking (NAN), is a Wi-Fi Alliance standard for discovering, pairing and communicating with nearby devices without an access point or internet connection. Unlike Multipeer Connectivity and Wi-Fi Direct, it has app frameworks on both platforms:
- Android supports it on devices running Android 8.0 (API level 26) and higher, and apps check whether a particular device has the feature before using it.
- Apple added a Wi-Fi Aware framework in iOS 26. Apple describes it as a way to securely pair and connect to external devices over peer-to-peer Wi-Fi, such as Wi-Fi Aware certified accessories, with pairing done through DeviceDiscoveryUI or AccessorySetupKit, and lists iPhone 12 and later among the devices that support it.
A shared standard is a good sign, but it does not by itself guarantee that a given iPhone and a given Android phone will pair through a given app. Apple’s pairing goes through its own interfaces, and Android support depends on the hardware. Treat Wi-Fi Aware between the two platforms as something to test on the exact device pairs your users have.
Nearby Connections
Google’s Nearby Connections API has a Swift library for iOS alongside the Android one, with the same advertise, discover and connect model. Its Swift setup guide asks for Bluetooth, local network and location usage descriptions, and for the Hotspot Configuration capability if the app uses high-speed transfer over a Wi-Fi hotspot. Google’s guides do not spell out which mediums an iPhone and an Android phone share in a given session, so if you plan to rely on it across platforms, test the pairs you care about. Nearby Connections summarises the API.
What to do in practice
For a feature that has to work between any iPhone and any Android phone today, build on Bluetooth LE and keep messages small. If you need more bandwidth, treat a Wi-Fi path as an upgrade that the app tries when both phones support it, and fall back to Bluetooth when they do not.
Test on real hardware: a simulator checks that the app is wired up, not that radios deliver. Try more than one Android manufacturer, both phones in the foreground and background, and Bluetooth or Wi-Fi turned off on one side, so the app behaves sensibly when no direct link is possible.