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

SwiftUI中修改Sign in with Apple按钮语言的方法(改位置无效)

解决Sign in with Apple按钮显示葡萄牙语的问题

Sign in with Apple按钮的语言显示不依赖设备位置,而是由App本地化配置和系统语言偏好决定,按以下步骤修改:

  • 给App添加葡萄牙语本地化支持
    打开Xcode项目设置,切换到Info选项卡,找到Localizations区域,点击+号选择Portuguese(若需巴西葡萄牙语选Portuguese (Brazil)),勾选需要本地化的文件(如Info.plist)后确认添加。

  • 修改系统语言偏好
    进入iOS设备的设置 > 通用 > 语言与地区 > iPhone语言,选择葡萄牙语并重启设备,仅修改位置不会改变按钮语言。

  • (可选)强制指定按钮语言
    如果上述步骤仍不生效,可直接给SignInWithAppleButton设置locale参数强制指定语言:

    SignInWithAppleButton(.signIn, onRequest: { request in
        isLoggingIn = true
        request.requestedScopes = [.email]
    }, onCompletion: { result in
        switch result {
        case .success(let authResults):
            guard let credentials = authResults.credential as? ASAuthorizationAppleIDCredential, 
                  let identityToken = credentials.identityToken, 
                  let identityTokenString = String(data: identityToken, encoding: .utf8) else { return }
            // 后续处理逻辑
        case .failure(let error):
            // 错误处理逻辑
        }
    })
    .locale(Locale(identifier: "pt-PT")) // 葡萄牙本土语系,巴西葡萄牙语用"pt-BR"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:17:06