ios - 在 iOS 13 上未调用 didConnectPeripheral 委托
问题描述
didConnectPeripheral
在 iOS 13 版本上未调用委托。它在 iOS 13 下运行良好。是否需要在 iOS 13 中添加任何内容才能与设备连接?
centralManagerDidUpdateState
正在更新,但连接没有调用。我不知道为什么。
我尝试在 Info.plist 文件中添加“始终需要蓝牙”。
解决方案
从 iOS 13 开始,当应用尝试扫描或连接蓝牙设备时,系统会自动提示用户授予应用使用蓝牙的权限。通用对话框中的消息可以通过 Info.plist 中的以下条目添加自定义消息:
<key>NSBluetoothAlwaysUsageDescription</key>
<string>This app uses bluetooth to perform XYZ functions.</string>
如果用户在显示此对话框时拒绝许可,应用程序将无法扫描或连接到蓝牙设备。您的应用程序可能会显示此对话框,而您没有注意到并意外拒绝了权限。
要检查这一点,您可以转到“设置”>“隐私”>“蓝牙”并检查您的应用是否被授予蓝牙权限。
推荐阅读
- python - 使用 pipenv 安装本地依赖项的依赖项
- mariadb - 缺少“在重复密钥更新上插入 [...]”语句的权限,但足以分别“插入”和“更新”
- python - 嵌套 JSON 和 Pandas 规范化
- python - Tensorflow:带有 num_parallel_calls 的数据集映射不提供加速
- css - 如何减少这些 View 组件 React Native 之间的空间
- sql - 如何在 SQL 中将多天的值组合成一个月?
- javascript - IntersectionObserver:调用 onIntersection() 时出现“未捕获的类型错误:无法读取未定义的属性”
- r - 闪亮:$ 运算符对原子向量无效
- javascript - Vue 不读取 API
- javascript - 如何使用 cypress 存根 contentwindow.print/使用 cypress 测试 printJS