ZHTX1
ZHTX1
  • 发布:2026-03-27 16:18
  • 更新:2026-03-27 16:28
  • 阅读:40

【报Bug】HBX 5.05 版本 ios云打包 获取WIFI信息, 无法获取定位, 导致wifi信息无法获取

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: wind10

HBuilderX类型: 正式

HBuilderX版本号: 5.05

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: iphone X

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

ios云打包即可复现
一个最明显的特征是: 之前ios打包的体积比较大, 最近打包的体积变小了
不知道是不是相关依赖文件少了

预期结果:

可以正常获取 ios 的相关定位权限 (获取wifi信息的时候需要)

实际结果:

无法获取相关定位权限, 导致业务流程中断

bug描述:

最新打包的 要获取 wifi 的一些信息, 需要开启定位相关权限 (app相关权限设置已经全部允许)

获取定位信息的一直失败, 旧版本是好的 两者文件相关配置没有改动;

通过降低HBX的版本 以及升级版本, 打包后依旧如此

经过脚本工具对比: 发现一个文件缺失:

Frameworks/libswiftCoreLocation.dylib

iOS IPA 定位权限检查工具 - 62 vs 66 版本对比  
============================================================  

============================================================  
分析 旧版本(62): ecowitt1_1_62ios.ipa  
============================================================  

文件总数: 781  

Frameworks (3 个):  
  - DCUniBase.framework: 10989.4 KB  
  - DCloudUTSExtAPI.framework: 3946.8 KB  
  - DCloudUTSFoundation.framework: 2583.6 KB  

定位相关文件 (3 个):  
  - Frameworks/libswiftCoreLocation.dylib (88.6 KB)  
  - Pandora/apps/__UNI__BA4DAEB/www/__uniappchooselocation.js (37.5 KB)  
  - Pandora/apps/__UNI__BA4DAEB/www/__uniappopenlocation.js (27.7 KB)    

============================================================  
分析 新版本(66): ecowitt1_1_66ios.ipa  
============================================================  

文件总数: 766  

Frameworks (3 个):  
  - DCUniBase.framework: 10876.7 KB  
  - DCloudUTSExtAPI.framework: 2793.9 KB  
  - DCloudUTSFoundation.framework: 2556.3 KB  

定位相关文件 (2 个):  
  - Pandora/apps/__UNI__BA4DAEB/www/__uniappchooselocation.js (37.5 KB)  
  - Pandora/apps/__UNI__BA4DAEB/www/__uniappopenlocation.js (27.7 KB)  

============================================================  
定位配置对比  
============================================================  

定位权限对比:  
  使用期间定位权限: 一致  
  始终定位权限(iOS 10及以下): 一致  
  始终定位权限(iOS 11+): 一致  
  定位权限(旧版):  
    旧版本: 未设置  
    新版本: 已设置  

定位相关 Frameworks 对比:  
  未检测到定位相关 Frameworks  

定位相关文件对比:  
  缺失的定位文件 (1 个):  
    - Frameworks/libswiftCoreLocation.dylib  

AI的相关建议信息: 见图片附件

ios 的相关配置:

"ios": {
"privacyDescription": {
"NSPhotoLibraryUsageDescription": "Upload user profile picture when modifying personal information",
"NSLocationWhenInUseUsageDescription": "Configure Device need to get Wi-Fi information",
"NSLocationAlwaysUsageDescription": "Configure Device need to get Wi-Fi information",
"NSLocationAlwaysAndWhenInUseUsageDescription": "Configure Device need to get Wi-Fi information",
"NSLocalNetworkUsageDescription": "The app will access the data information of the weather receiver through the local area network.",
"NSBluetoothPeripheralUsageDescription": "Configure Device need to open Bluetooth",
"NSBluetoothAlwaysUsageDescription": "Configure Device need to open Bluetooth",
"NSPhotoLibraryAddUsageDescription": "Download pictures or videos from the camera page to the album",
"NSCameraUsageDescription": "Used when scanning code or uploading avatar"
},
"idfa": false,
"dSYMs": false,
"urlschemewhitelist": ["app-settings"],
"urltypes": "ecowitt"
},
/ SDK配置 /
"sdkConfigs": {
"geolocation": {
"system": {
"platform": ["ios", "android"]
}
},
"ad": {},
"push": {},
"payment": {}
},

2026-03-27 16:18 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为DCloud官方人员,对该bug反馈评审如下:

评审结论

该bug反馈有效,内容质量较高,关键线索明确

1. 内容完整性评价

优点:

  • 提供了新旧版本的文件对比分析,特别是libswiftCoreLocation.dylib缺失这一关键线索,这对定位问题非常有价值
  • 环境信息完整(HBX 5.05、iOS平台、Vue2)
  • 问题现象描述清晰(打包体积变小、权限获取失败)

需补充的信息:

  • manifest.json配置:未提供app-plus -> distribute -> ios节点下的定位权限配置(如NSLocationWhenInUseUsageDescription等privacyDescription配置)
  • 定位实现代码:未提供调用uni.getLocationplus.geolocation的具体代码示例及参数(如type类型:wgs84/gcj02)
  • 定位模块选择:未说明使用的是系统定位、高德定位、腾讯定位还是百度定位

2. Bug成立性分析

可能原因分析(基于知识库):

  1. iOS版本兼容性问题:反馈中提到手机系统版本为"iOS 26",根据优先知识库-云打包无法适配IOS26,当前云打包环境为XCode 16.1 / iOS SDK 18.1,如果确实使用了iOS 26(或极高版本的Beta系统),可能存在SDK兼容性问题。

  2. Swift运行时库缺失libswiftCoreLocation.dylib是Swift定位核心库,其缺失表明打包过程中可能未正确包含Swift依赖。根据iOS功能模块对照表,定位模块依赖CoreLocation.framework,如果使用的是基于Swift的第三方定位SDK(如特定版本的腾讯或高德SDK),需要确保正确引入Swift支持库。

  3. 打包环境变更:HBX 5.05版本可能存在打包模板调整,导致动态库未正确链接。

3. 排查建议

请按以下步骤补充信息并排查:

  1. 确认iOS版本:请确认手机系统版本是否为iOS 18.x(而非26),如果是iOS 26 Beta版本,请参考云打包环境说明,云端环境可能尚未适配。

  2. 检查manifest配置:请提供manifest.jsonapp-plus -> distribute -> ios -> privacyDescription的配置,确保包含:

    • NSLocationWhenInUseUsageDescription
    • NSLocationAlwaysAndWhenInUseUsageDescription
    • NSLocationAlwaysUsageDescription
  3. 确认定位方式:请说明使用的定位类型(uni.getLocation的type参数):

    • 若为wgs84:使用系统定位,依赖CoreLocation.framework
    • 若为gcj02:需配置三方SDK(高德/腾讯),请参考Geolocation定位配置
  4. 检查WiFi权限:根据WiFi模块文档,iOS13及以上获取WiFi信息需先获取定位权限,且需在苹果开发者网站开启"Access WiFi information"能力。

  5. 临时解决方案:如急需解决,可尝试在HBuilderX中重新勾选"定位"模块(manifest -> App模块配置 -> 定位),或尝试使用持续定位插件作为替代方案。

建议补充信息后提交到官方issue系统,并附上libswiftCoreLocation.dylib缺失的详细对比报告,这将有助于开发团队定位是否是5.05版本的打包模板问题。

内容为 AI 生成,仅供参考
ZHTX1

ZHTX1 (作者) - ZHTX1

云打包的 异常, 之前基座打包 然后运行的效果是一切正常的

  • DCloud_App_Array

    调用定位功能是否正常?是否可以弹出系统定位授权提示框?

    12 分钟前

  • ZHTX1 (作者)

    回复 DCloud_App_Array: 这个没有问题, 可以调起定位弹窗, 卡在后续这里了

    11 分钟前

  • DCloud_App_Array

    回复 ZHTX1: 能调起定位提示框就可以授权呀,后续卡哪了?

    4 分钟前

  • ZHTX1 (作者)

    回复 DCloud_App_Array:定位授权后, wifi获取异常, 导致我这边iot配网的相关业务流程无法跑下去了

    57 秒前

  • ZHTX1 (作者)

    回复 DCloud_App_Array: 实际效果: 我这边拿不住wifi 名字

    12 秒前

要回复问题请先登录注册