Остановка поиска устройства
Запросите остановку предусмотренной прошивкой индикации поиска на подключённом устройстве.
Предварительные условия
Перед вызовом API убедитесь, что:
- Устройство подключено и готово.
- Устройство поддерживает протокол
DeviceFindAPI.
Справочник API
Фреймворк
AIBuds.xcframework
Импорт
- Swift
- Objective-C
import AIBuds#import <AIBuds/AIBuds-Swift.h>
#import <AIBuds/AIBuds.h>Протокол
Метод stopFindDevice объявлен в DeviceFindAPI.
- Swift
- Objective-C
/// Controls the locate-device indication on a connected device.
///
/// This API operates on the device represented by the conforming object. It
/// does not perform Bluetooth discovery or scan for nearby devices.
public protocol DeviceFindAPI: DeviceAPI {
/// Requests that the connected device stop its locate-device indication.
/// - Parameters:
/// - completion: Called when command processing completes.
/// - success: `true` when the device accepted the stop command;
/// otherwise, `false`.
/// - error: The command or communication error, or `nil` on success.
func stopFindDevice(_ completion: AIBudsCompletionHandler?)
}/// Controls the locate-device indication on a connected device.
@protocol AIBudsDeviceFindAPI <AIBudsDeviceAPI>
/// Requests that the connected device stop its locate-device indication.
/// - Parameters:
/// - completion: Called when command processing completes.
/// - success: `true` when the device accepted the stop command;
/// otherwise, `false`.
/// - error: The command or communication error, or `nil` on success.
- (void)stopFindDeviceWithCompletion:(AIBudsCompletionHandler _Nullable)completion;
@endМетод экземпляра
Запрашивает остановку индикации поиска на подключённом устройстве.
- Swift
- Objective-C
/// Requests that the connected device stop its locate-device indication.
/// - Parameters:
/// - completion: Called when command processing completes.
/// - success: `true` when the device accepted the stop command; otherwise,
/// `false`.
/// - error: The command or communication error, or `nil` on success.
func stopFindDevice(_ completion: AIBudsCompletionHandler?)/// Requests that the connected device stop its locate-device indication.
/// - Parameters:
/// - completion: Called when command processing completes.
/// - success: `true` when the device accepted the stop command; otherwise,
/// `false`.
/// - error: The command or communication error, or `nil` on success.
- (void)stopFindDeviceWithCompletion:(AIBudsCompletionHandler _Nullable)completion;Параметры
| Параметр | Тип | Описание |
|---|---|---|
completion | AIBudsCompletionHandler? | Необязательный обработчик, вызываемый после обработки команды. |
Параметры обратного вызова:
| Имя | Тип | Описание |
|---|---|---|
success | Bool / BOOL | true, если устройство приняло команду остановки; иначе false. |
error | NSError? | Ошибка команды или связи; при успехе — nil. |
Возвращаемое значение
Метод не возвращает значение напрямую. Результат передаётся обработчику завершения.
Примеры использования
- Swift
- Objective-C
import AIBuds
final class DeviceManager {
weak var device: DeviceConvertible?
func stopFindingDevice() {
guard let device = device as? DeviceFindAPI else {
print("Device does not support finding")
return
}
device.stopFindDevice { success, error in
guard success else {
print("Failed to stop finding: \(error?.localizedDescription ?? "Unknown error")")
return
}
print("Stop command accepted")
}
}
}#import <AIBuds/AIBuds-Swift.h>
#import <AIBuds/AIBuds.h>
id<AIBudsDeviceFindAPI> device = (id<AIBudsDeviceFindAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceFindAPI)]) {
NSLog(@"Device does not support finding");
return;
}
[device stopFindDeviceWithCompletion:^(BOOL success, NSError *_Nullable error) {
if (!success) {
NSLog(@"Failed to stop finding: %@", error.localizedDescription ?: @"Unknown error");
return;
}
NSLog(@"Stop command accepted");
}];Обработка ошибок
Показывайте принятие команды остановки только после проверки success, а ошибки команды и связи берите из error. Не полагайтесь на фиксированные коды ошибок, если они не задокументированы для устройства.
Рекомендации
- Проверяйте соответствие протоколу: перед вызовом метода убедитесь в поддержке
DeviceFindAPI. - Храните состояние интерфейса локально: протокол не предоставляет свойство активности поиска.
- Обновляйте UI в главной очереди: направляйте обновления UIKit из обработчика завершения в главную очередь.
Примечания
- Публичный API не определяет результат вызова остановки при неактивном поиске.
- Реализация индикации поиска на конкретном устройстве не входит в контракт API.
- Метод останавливает индикацию на устройстве, но не сигнал поиска на iPhone, которым управляет приложение.