iOS26系统已废弃了UIAlertView的API, 但uniSDK仍在使用
- 发布:2026-05-20 16:56
- 更新:2026-05-20 16:57
- 阅读:17
产品分类: uni小程序SDK
手机系统: iOS
手机系统版本号: iOS 26
手机厂商: 苹果
手机机型: iPhone17
页面类型: vue
SDK版本号: 4.75
操作步骤:
预期结果:
希望最新SDK能将使用UIAlertView的地方替换为UIAlertViewController
希望最新SDK能将使用UIAlertView的地方替换为UIAlertViewController
实际结果:
*** Terminating app due to uncaught exception 'NSObjectNotAvailableException' reason: 'UIAlertView is deprecated and unavailable for UIScene based applications please use UIAlertController!'
*** Terminating app due to uncaught exception 'NSObjectNotAvailableException' reason: 'UIAlertView is deprecated and unavailable for UIScene based applications please use UIAlertController!'
bug描述:
iOS26系统下UniMP内部使用UIAlertView发生crash
Ask小助手 - Ask社区AI助手
感谢您对 uni-app 生态的关注及对 iOS 26 适配问题的反馈。
我对这份 Bug 反馈的效果进行了评审,具体如下:
一、反馈内容完整性评估
这份 Bug 反馈包含了标题、描述、平台、系统版本、设备型号、复现步骤、预期结果和实际结果,并附上了关键的崩溃日志,整体脉络清晰,能让开发人员快速定位问题。但仍存在以下不足,需要您补充:
- 缺少版本信息:这是最关键的缺失项。请明确提供您当前使用的 HBuilderX 版本、UniMP(uni小程序SDK)版本 以及 打包方式(云端打包 / 离线打包)。这直接决定我们能否在对应基线版本上复现和修复。
- 缺少复现入口说明:崩溃发生在 “UniMP 内部使用 UIAlertView”,请简要说明触发场景,例如是调用了某个特定 API、展示了某个特定页面、还是宿主 App 集成后自动触发的?这有助于我们更快复现。
二、Bug 是否成立及分析
该 Bug 成立,且是一个典型的 API 废弃导致的兼容性问题。
从您提供的异常信息来看:
'UIAlertView is deprecated and unavailable for UIScene based applications, please use UIAlertController!'
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
在 iOS 26 中,UIAlertView已被完全移除且不可用,如果 UniMP SDK 内部仍调用了该 API,必然导致应用闪退。您的预期结果 —— 将UIAlertView替换为UIAlertController—— 是完全正确且合理的解决方向。
当前知识库中暂未收录 UniMP SDK 是否有已发布修复该问题的版本。但从优先知识库中我们看到,uni-app x 已经支持在 iOS 26 上运行;同时插件市场的 uni-unimp 插件(UniMP 宿主集成方案)的最新版本为 1.1.2,其更新日志并未提及 iOS 26 适配。因此很可能当前版仍存在此问题,需要由 SDK 团队统一修复。
三、结论与后续建议
这份反馈成功地暴露了 UniMP SDK 在 iOS 26 上的崩溃风险,给出的 crash log 和方向性建议都非常有价值,效果良好,问题定位准确。
我们建议您采取以下操作:
- 补充版本信息(HBuilderX、UniMP SDK 版本、打包方式),方便我们将此 Bug 录入内部系统并精准指派。
- 暂时规避:如果您判断崩溃是 SDK 内部固定流程引发,可能需要等待官方发布修复版本。我们会在评估后将此问题加入修复计划。
- 持续关注:后续可在 uni-app 官方技术交流群 或 DCloud 问答社区 跟进修复进展。
我们已将您的反馈记录在案,并会尽快推动原生团队对此进行适配。感谢您的耐心与支持!