-
Notifications
You must be signed in to change notification settings - Fork 0
Core Find Device Overview
Mr.P edited this page Aug 25, 2026
·
2 revisions
Use the Find APIs either to make a connected device present its locate-device indication or to respond when that device asks your app to locate the iPhone.
These are opposite directions and use different APIs:
| Flow | Initiator | App responsibility | Completion signal |
|---|---|---|---|
| Locate device | Host app | Start or stop the connected device's firmware-defined indication through DeviceFindAPI. |
The command completion reports acceptance. A supported device may later emit deviceDidReportFound. |
| Locate iPhone | Connected device | Start or stop an iPhone-side sound, vibration, or UI in response to delegate callbacks. | After the user finds the iPhone, report resolution through FindPhoneStateReportingAPI. |
Browse the generated Wiki navigation for the pages in this section.
To use the find device feature, follow these steps:
- Connect to the Device — Establish a usable connection with the target AIBuds device.
- Choose the Direction — Decide whether the app is locating the device or responding to a device-originated find-iPhone request.
-
Check Protocol Conformance — Use
DeviceFindAPIfor locate-device commands orFindPhoneStateReportingAPIto report that the phone was found. - Handle the Correct Terminal Signal — Do not interpret command acceptance as proof that the physical device or phone has been found.
- Find Device: Requests the connected device to start its locate indication.
- Stop Find Device: Requests the connected device to stop that indication.
-
Device Found Event:
deviceDidReportFound(_:)is a separate device-originated terminal event when supported.
DeviceFindAPI operates on the already-connected device. It does not perform Bluetooth discovery or scan for nearby devices.
-
deviceDidRequestStartFindingPhone(_:)asks the app to start its own iPhone-side alert. -
deviceDidRequestStopFindingPhone(_:)asks the app to stop that alert. - After the user locates the iPhone, call
notifyPhoneFound(_:)to report resolution to the requesting device.
The locate-device commands are accessed through DeviceFindAPI:
```swift
guard let device = device as? DeviceFindAPI else {
print("Device does not support DeviceFindAPI")
return
}
```
```objc
id<AIBudsDeviceFindAPI> device = (id<AIBudsDeviceFindAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceFindAPI)]) {
NSLog(@"Device does not support AIBudsDeviceFindAPI");
return;
}
```
The opposite find-iPhone flow uses FindPhoneStateReportingAPI after a device-originated request:
```swift
guard let reporter = device as? FindPhoneStateReportingAPI else {
print("Device cannot receive an iPhone-found report")
return
}
```
```objc
id<AIBudsFindPhoneStateReportingAPI> reporter =
(id<AIBudsFindPhoneStateReportingAPI>)self.device;
if (![reporter conformsToProtocol:@protocol(AIBudsFindPhoneStateReportingAPI)]) {
NSLog(@"Device cannot receive an iPhone-found report");
return;
}
```
-
Keep the Directions Separate: Do not use
DeviceFindAPIto implement an iPhone-side alert. - Check Protocol Conformance: Verify the protocol required by the selected flow.
- Distinguish Acceptance from Resolution: A successful completion confirms command processing, not that the target was physically located.
- Provide a Stop Path: Let users stop the active device or phone indication.
- Update UI on the Main Queue: Dispatch UIKit changes made from callbacks to the main queue.
- Locate-device commands require the target device to remain connected and reachable.
- Device-side sound, vibration, or other indication behavior is firmware-defined.
- The app owns the iPhone-side sound, vibration, and UI used for a find-iPhone request.
- Neither protocol exposes an authoritative active-state or duration property.
AIBuds SDK documentation · Full documentation · API Reference
- Introduction
- Getting Started
- Core Concepts
-
Core Features
- Basic Features
- Device Info
- Find Device
- Physical Operations
- Work Mode
- Work Status
- Wear Detection
- Volume Control
- Music Control
- TWS
- Equalizer
- ANC
- Audio
- Camera
- Remote Camera
- File Import
- Teleprompter
- Segment Navigation
- Live Streaming
- Device Applications
- OTA
- Camera OTA
- Service Auth
- AI Services
- Voice Assistant
- Logging
- Advanced Topics
- Releases
- Troubleshooting