You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用UIImagePickerController打开相机时取消按钮显示API_CANCEL_TITLE如何解决

问题原因

UIImagePickerController的取消按钮显示API_CANCEL_TITLE是系统组件加载本地化字符串失败导致的,通常和项目国际化配置不完整、或是自定义字符串覆盖了系统key有关。

解决方案

你可以根据项目需求选择以下方案修复:

方案1:补全项目国际化配置(推荐)

这个方案可以一次性修复所有系统原生组件的文案显示异常问题:

  • 打开项目的Info.plist文件,添加CFBundleAllowMixedLocalizations字段,值设置为YES,允许App加载系统组件的本地化资源
  • 确认项目的「Localizations」配置列表中已经添加了你需要适配的目标语言(比如简体中文、英文等)

方案2:手动设置取消按钮文案

如果不需要适配多语言,也可以手动修改按钮的显示文案,代码示例如下:

let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .camera
imagePicker.allowsEditing = false
// 手动设置取消按钮文案
imagePicker.navigationBar.topItem?.rightBarButtonItem?.title = "取消"
// 如需全局统一配置,也可以使用外观代理设置
UIBarButtonItem.appearance(whenContainedInInstancesOf: [UIImagePickerController.self]).title = "取消"
self?.parentViewController?.present(imagePicker, animated: true)

若设置后不生效,可以在present的完成回调中再次修改文案,避免系统默认赋值覆盖自定义设置。

异常排查

如果以上方案都没有生效,检查项目中是否存在名为API_CANCEL_TITLE的本地化key,避免自定义的字符串覆盖了系统的默认定义。

内容的提问来源于stack exchange,提问作者Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:45:02