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.
liwei1dao dbdf1f9dca 上传iOS 的插件包 5 months ago
..
ble_service 上传iOS 的插件包 5 months ago
README.md add 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 项目

  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 需要与实际设备匹配