使用 Apple 登录按钮标题始终显示“SIGN_IN_WITH_APPLE”
Posted
技术标签:
【中文标题】使用 Apple 登录按钮标题始终显示“SIGN_IN_WITH_APPLE”【英文标题】:Sign in with Apple button title always displays "SIGN_IN_WITH_APPLE" 【发布时间】:2020-09-12 00:21:39 【问题描述】:我有一个应用程序本地化为两种语言:英语和立陶宛语。我正在使用 Apple 功能实现登录,除了按钮标题外,一切都运行良好,我正在尝试本地化。
我正在按照文档中的建议创建按钮:let asiButton = ASAuthorizationAppleIDButton(type: .signIn, style: .black)
我在Localizable.strings
中为两种语言输入了“SIGN_IN_WITH_APPLE”。当语言设置为立陶宛语时,按钮显示正确的字符串,但是当我将语言更改为英语时,按钮始终显示SIGN_IN_WITH_APPLE
(如屏幕截图所示)。
Screenshot
由于某种原因,它似乎忽略了我为英文版本输入的 Localizable.strings
的值(尽管所有其他字符串都按预期工作),因为我可以完全删除它并获得相同的结果。
我尝试使用asiButton.accessibilityLabel
直接通过代码获取和设置按钮的标签,但这会返回nil
并设置它会产生相同的结果,即带有SIGN_IN_WITH_APPLE
标题的按钮。
任何想法都将不胜感激!
【问题讨论】:
【参考方案1】:不要为此使用 Localizable.strings。 ASAuthorizationAppleIDButton 已经自动本地化。
【讨论】:
其实如果你尝试自己设置这个按钮的文字,苹果很可能会拒绝这个应用。 如果我从两个 Localizable.strings 中删除它,它仍然显示“SIGN_IN_WITH_APPLE”。这是否应该暗示应用程序中的本地化实现存在更深层次的问题?我非常有信心实现是可靠的,我们在测试或生产中都没有遇到任何问题。但我猜那是下一个寻找线索的嫌疑人…… 是的,您应该会自动看到正确的标题。我从来没有见过这样说 SIGN_IN_WITH_APPLE。我看到另一个类似你的问题:***.com/questions/60125468/… 但我无法重现该问题。 我正在使用ASAuthorizationAppleIDButton
,但是当我将模拟器的语言更改为荷兰语时,它没有本地化为荷兰语。有什么想法吗? @马特【参考方案2】:
我也遇到过同样的问题。
我将"SIGN_IN_WITH_APPLE" = "Sign in with Apple";
对添加到链接到English
文件的Localizable.strings
中,并且一切正常。
这是一个答案,但我想这条消息应该在 cmets 中。抱歉,但现在我不允许发表评论,因为声誉计数低..)
【讨论】:
以上是关于使用 Apple 登录按钮标题始终显示“SIGN_IN_WITH_APPLE”的主要内容,如果未能解决你的问题,请参考以下文章
扑动 google_sign_in 崩溃:__exceptionPreprocess + 294
如何更改“Sign In with Apple”按钮的宽度?
在 iOS 中,如何创建一个始终位于所有其他视图控制器之上的按钮?