# ble_service iOS 集成说明 ## 概述 该插件提供了蓝牙低功耗(BLE)设备的连接和通信功能,特别支持BLE耳机设备的音频数据传输。 - 支持 iOS 13.0+ 的基础蓝牙连接功能 - 支持 iOS 18.0+ 的 AccessorySetupKit 集成,实现应用后台唤醒 ## 集成步骤 ### 1. 权限配置 在应用的 `Info.plist` 中添加以下权限描述: ```xml NSBluetoothAlwaysUsageDescription 需要使用蓝牙连接您的耳机设备 NSBluetoothPeripheralUsageDescription 需要使用蓝牙连接您的耳机设备 UIBackgroundModes bluetooth-central ``` ### 2. iOS 18+ AccessorySetupKit 配置 如果需要支持 iOS 18+ 的 AccessorySetupKit 功能(应用后台唤醒),还需要在 `Info.plist` 中添加: ```xml NSAccessorySetupBluetoothCompanyIdentifiers ABEF NSAccessorySetupBluetoothServices 0000ABC0-0000-1111-2222-123456789ABC 0000AE00-0000-1000-8000-00805F9B34FB NSAccessorySetupKitSupports Bluetooth ``` ### 3. 集成到 Runner 项目 1. 确保项目的最低部署版本为 iOS 13.0 2. 在 Xcode 中编辑 `Runner` 项目的 `info.plist`,添加上述配置 3. 如需自定义 UUID 或厂商 ID,请同时修改 `BleConst.swift` 文件中的对应常量 ## 使用说明 ### 基本流程 1. 首次使用时,应用需要在前台扫描并连接设备 2. 配对成功后,后续可通过 AccessorySetupKit (iOS 18+) 自动唤醒应用 ### 支持的命令 - 获取设备版本: `getDeviceVersion()` - 获取电池信息: `getBatteryInfo()` - 打开/关闭编解码: `openEncoder()`, `openDecoder()`, `closeCodec()` - A2DP 控制: `playA2DP()` ## 后台运行说明 1. 该插件支持在后台接收 BLE 通知和数据 2. iOS 18+ 设备上,支持应用在后台/被杀死状态下被设备唤醒 3. 后台保活和状态恢复由系统管理,无需额外代码 ## 注意事项 - 使用前确保已在用户设备上获得蓝牙权限 - 由于苹果限制,手动杀死应用后,仍需用户主动重新打开一次应用才能完全激活后台唤醒 - 厂商 ID 和服务 UUID 需要与实际设备匹配