uniapp ios打包时未添加蓝牙模块如何解决?
在uniapp打包iOS应用时,发现没有添加蓝牙模块,导致功能无法使用。请问该如何解决?需要在manifest.json中配置还是通过其他方式引入?如果已经配置了蓝牙权限仍不生效,可能是什么原因导致的?求具体的解决步骤或排查方法。
        
          2 回复
        
      
      
        在HBuilder X中,打开manifest.json,选择“App模块配置”,勾选“蓝牙”模块,重新打包即可。
在 UniApp 中,如果 iOS 打包时未添加蓝牙模块,通常是因为未在 manifest.json 文件中正确配置蓝牙权限和模块。以下是解决方案:
步骤 1:检查并配置 manifest.json 文件
- 打开项目根目录下的 
manifest.json文件。 - 在 App 模块配置 中,确保勾选了 蓝牙(Bluetooth) 模块。具体位置:
- 在 HBuilder X 编辑器中:点击 manifest.json → App 模块权限配置 → 勾选 “蓝牙”。
 - 如果手动编辑 JSON,确保以下代码存在:
{ "modules": { "Bluetooth": {} } } 
 
步骤 2:配置 iOS 权限
在 manifest.json 的 iOS 设置 部分,添加蓝牙使用描述:
{
  "app-plus": {
    "distribute": {
      "ios": {
        "permissions": {
          "bluetooth": {
            "description": "需要蓝牙功能以连接外部设备"
          }
        }
      }
    }
  }
}
这会在 iOS 打包时自动生成对应的 NSBluetoothPeripheralUsageDescription 权限描述。
步骤 3:重新打包
- 保存 manifest.json 文件。
 - 在 HBuilder X 中,重新进行云打包或本地打包(选择 iOS 平台)。
 - 如果使用自定义基座,请先更新基座再测试。
 
注意事项
- 如果问题依旧,检查 HBuilder X 版本是否过旧,更新到最新稳定版。
 - 确保在代码中正确调用 UniApp 蓝牙 API(如 
uni.openBluetoothAdapter),否则模块可能被优化掉。 
完成以上步骤后,iOS 打包应包含蓝牙模块。如果仍有问题,提供错误日志以便进一步排查。
        
      
                    
                  
                    
