Capacitor+React iOS端图片上传选项韩语切换问题求助
解决Capacitor iOS应用图片上传选项语言不匹配系统语言的问题
问题背景
使用Capacitor JS + React开发的Web应用,Android端图片上传功能正常,但iOS端点击上传按钮后弹出的选择选项未显示韩语(系统语言已设置为韩语)。奇怪的是,在原生Safari浏览器中打开该应用时,选项能正常显示韩语,仅Capacitor打包的iOS应用存在此问题。
解决思路
1. 配置Xcode项目的本地化支持
- 打开iOS项目的Xcode工程,进入Project > Info > Localizations
- 点击
+号添加韩语(Korean),勾选需要本地化的文件(至少包含InfoPlist.strings) - 确认
Info.plist中存在CFBundleLocalizations数组,且数组内包含ko字段
2. 强制WebView继承系统语言
Capacitor的WebView可能未正确读取系统语言偏好,可在AppDelegate.swift中添加代码强制同步:
import Capacitor func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // 保留原有初始化代码 // 强制WebView使用系统首选语言 if let firstLang = Locale.preferredLanguages.first { UserDefaults.standard.set([firstLang], forKey: "AppleLanguages") UserDefaults.standard.synchronize() } return true }
3. 检查Info.plist的区域配置
- 打开
Info.plist,将CFBundleDevelopmentRegion设置为ko,或者保留默认的$(DEVELOPMENT_LANGUAGE)让系统自动匹配 - 确保没有其他硬编码的语言设置项覆盖系统偏好
4. 清理缓存并重新构建
- 在Xcode中按下
Shift+Command+K执行Clean Build Folder - 删除设备上已安装的旧应用,重新打包安装,避免缓存导致的本地化配置不生效
内容的提问来源于stack exchange,提问作者Do Yoon Kim
相关产品推荐
相关产品推荐

