【问题标题】:iOS 13 forces the app to show Bluetooth Permission PromtiOS 13 强制应用显示蓝牙权限提示
【发布时间】:2020-02-15 19:25:25
【问题描述】:

我正在开展一个项目,其中一些应用程序需要蓝牙权限,而其中一些不需要。那些不需要蓝牙的开始在 iOS 13 中请求权限。我禁用了请求蓝牙的配置,但仍然有一些东西触发了蓝牙,iOS 13 显示了蓝牙提示。有没有人遇到同样的问题?有什么办法可以解决这个问题?

解决方案:

所以我意识到我一直在主线程中初始化蓝牙。我没有这样做,而是进行了延迟初始化并修复了问题。

【问题讨论】:

  • 如果您使用任何依赖项(例如分析 SDK),它们可能会触发它。

标签: ios swift core-bluetooth cbcentralmanager


【解决方案1】:

如果项目共享单个代码库或共享框架,则可能是源代码,尤其是依赖关系是查看上面 Andy 所述的好地方。

我知道您说您禁用了请求蓝牙的配置,但我会在“功能”下的“后台模式”中仔细检查两个蓝牙 LE 选项(使用蓝牙 LE 配件或充当蓝牙 LE 配件)。我还会检查 Info.plist 文件中的 Privacy - Bluetooth Peripheral Usage Description 和 Privacy - Bluetooth Always Usage Description 但这些不应触发提示,仅在提示出现时添加信息。

检查配置后,我会搜索 import CoreBluetooth 以查看是否有任何您可能不知道的正在使用蓝牙的文件。检查导入缩小范围,然后我会寻找 CBCentralManager 或 CBPeripheralManager。

【讨论】:

    猜你喜欢
    • 2020-01-27
    • 2021-02-25
    • 2020-02-02
    • 1970-01-01
    • 2020-02-24
    • 2022-08-04
    • 2022-07-23
    • 1970-01-01
    • 2023-01-17
    相关资源
    最近更新 更多