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