【发布时间】:2021-05-10 17:39:55
【问题描述】:
我们有一个 Expo 管理的应用程序。最初,我们在app.json 文件中将expo.name 设置为Bridge - Debit Card。我们成功地将它发布到两个商店 - App Store 和 Google Play。
但后来我们注意到应用显示名称(设备桌面上应用图标正下方的应用名称)看起来很笨拙。它在 iOS 上看起来像 BridgeDe...。
因此,我们将 expo.name 更改为简单的 Bridge,重新构建了独立应用程序,并将新的二进制文件再次发布到两个应用程序商店。
Google Play 刚刚吃了新的二进制文件,没有任何问题,新的短应用名称出现在 Android 设备上。
但是我们在上传.ipa文件时无法通过Apple验证。我们在 Mac 上使用Transporter 应用程序。它显示一个错误:
ITMS-90129:捆绑使用的捆绑名称或显示名称已被占用。
但我们在 AppStore 中没有类似名称的应用。
我们尝试将 expo.name 返回到旧值 Bridge - Debit Card 并将带有 Bridge 值的 CFBundleDisplayName(以及后来的 CFBundleName)添加到 expo.ios.infoPlist,但没有运气:在 AppStore 中发布的应用程序很好(验证通过旧的expo.name),但在应用程序图标下有一个长而截断的名称。所以,这个选项根本没有任何作用,没有任何改变。
这是我们应用程序的app.json 示例:
{
"expo": {
"name": "Bridge - Debit Card",
"slug": "bridge-debit-card",
"owner": "bridge",
"ios": {
"buildNumber": "1.0.4",
"icon": "./assets/images/icon.png",
"googleServicesFile": "./GoogleService-Info.plist",
"infoPlist": {
"CFBundleDisplayName": "Bridge",
}
}
}
有人可以提出一个解决方案来实现我们的目标:在设备桌面上使用更短的应用名称,在应用商店列表中使用更长的名称?重要说明,我们的应用程序已经发布。我不想eject 和更改bundleIdentifier。
我将不胜感激任何帮助,任何想法!
【问题讨论】:
-
您知道如何解决这个问题吗?
标签: javascript ios react-native expo