Flutter macOS使用低功耗蓝牙踩坑记录
尝试了无数个插件,就发现一个插件,能用,但是有坑。
flutter pub add flutter_blue_plus
这个插件可以支持iOS、Android和macOS
但是在macOS上跑不起来,需要改几个地方
- 更改macOS目录的
Podfile
中的platform
,版本太低,无数坑
platform :osx, '12.4'
- 更改flutter的依赖文件
pubspec.yaml
直接用github上的,不然代码有错误
https://github.com/boskokg/flutter_blue_plus
dependencies:
flutter:
sdk: flutter
........
flutter_blue_plus:
git:
url: https://github.com/boskokg/flutter_blue_plus.git
好了,到这一步,你肯定忍不住去跑项目了,虽然可以跑起来,但是无法使用蓝牙。
最重要的来了‼️,macOS需要添加蓝牙的权限
打开macos目录下的两个文件 DebugProfile.entitlements
和Release.entitlements
添加下面配置:
<!-- 联网权限 -->
<key>com.apple.security.network.client</key>
<true/>
<!-- 蓝牙权限 -->
<key>com.apple.security.device.bluetooth</key>
<true/>
到这一步,需要停止项目,重新编译启动,最好是用xcode clean下,然后用flutter clean下。
启动后,第一次可能由于申请权限的原因,无法正常扫描到蓝牙,获取权限了再扫描一次即可。 最后启动,效果如下:
呕心沥血,花了2天时间,才搞定,记录下,让大家少走弯路。
如果有问题,需要技术支持,可以加我QQ:599194993,200-500一次不等,不要觉得贵,因为时间就是金钱。