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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:40:40