【发布时间】:2019-09-02 20:52:24
【问题描述】:
我的 iOS 应用被 Apple 拒绝,因为设备上显示的名称与 App Store 上的名称不完全匹配:
设备上显示的名称:V5
我真的很奇怪为什么这个“V5”可以显示在设备上。
“V5”是我的项目名称,也是Xcode中的目标名称:
在Xcode中,“显示名称”设置为$(PRODUCT_NAME),即设置为$(TARGET_NAME),即“V5”
但是,我还为InfoPlist.strings 提供了本地化,我在其中翻译了CFBundleDisplayName。
(我使用的是 Xcode 10.1)
我在真实设备(iPhone 7、iOS 12.2)上进行了测试。我在模拟器(iPhone X、iPhone XS Max 等)上进行了测试。我试图将系统语言更改为不同的语言。但我从来没有看到设备上显示的名称“V5”。应用图标下方显示的名称始终是我在InfoPlist.strings 中提供的名称。
奇怪的是,我多年来没有更改我的应用名称,并且使用完全相同的设置,我已经在 App Store 上发布了几个版本,从未遇到过这种问题。
我想知道,Apple 最近是否有任何我不知道的变化?
谢谢!
【问题讨论】:
-
在 $(PRODUCT_NAME) 的构建设置中,调试和发布的值是否不同?您可能会在测试时看到一个值,但在构建发布时它正在使用另一个值。
-
@darrenallen7 实际上,$(PRODUCT_NAME) = $(TARGET_NAME) = "V5",调试和发布的设置相同。但在设备上安装时,应用名称应由“CFBundleDisplayName”翻译确定。我尝试了调试和发布版本,但永远看不到设备上显示“V5”..
-
我也有类似的问题,你解决了吗?
-
@ChikabuZ 是的,我解决了。在我的
Info.plist中,最初我有:<key>CFBundleDisplayName</key><string>$(PRODUCT_NAME)</string>。我用我的应用程序的英文名称替换了$(PRODUCT_NAME),这样它就不会被解析为内部代号V5。它实际上对用户没有影响,但我认为 Apple 审阅者将在 i18n 中立环境中使用该应用程序,因此他们是唯一可以看到这个内部代号显示为应用程序名称的人。
标签: ios app-store app-store-connect