【问题标题】:Can you change an iOS app name after it's been built?你可以在构建后更改 iOS 应用程序名称吗?
【发布时间】:2016-02-07 22:23:42
【问题描述】:

假设您需要构建 50 个 iOS 应用,它们除了名称外都相同。能否在构建应用后更改名称(bundle 显示名称)和 bundleid,以便在构建时不知道名称的情况下提前预构建它们?

【问题讨论】:

  • 想改什么名字?用户主屏幕图标下显示的名称? App Store/iTunes Connect 中显示的名称?其他名字?
  • 已构建的应用程序已签名。如果您需要更改名称,则需要在签名阶段之前进行。这包括您可以在 info.plist 中提供的本地化跳板名称
  • 图标下的名称。此时应用不会提交到 App Store。
  • @SwiftArchitect 真棒。所以我可以构建应用程序并对 plist 进行任何我喜欢的更改,然后签名,这是一个相对快速的操作。

标签: ios xcode


【解决方案1】:

更改捆绑包 ID(在 info.plist 文件中),它将被 iOS 和 App Store 识别为不同的应用程序。

并更改显示名称以更改应用的显示名称。

您可以在此处阅读有关捆绑 ID 的更多信息:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html

尽管如果应用具有使用捆绑 ID 的特殊权利(例如 iCloud 或推送通知),您可能会遇到问题。

【讨论】:

  • 它将被 iOS 和 App Store 识别为不同的应用程序:您只能使用给定的 App ID 推送一个应用程序
【解决方案2】:

期间:是的。之后:没有。

New Run Script Phase类型的构建阶段添加到您的目标。

您可以轻松地将值插入到 XML 文件中(您需要在最后一个 </dict></plist> 之前插入此条目:

<key>CFBundleDisplayName</key>
<string>SO-35259889</string>

或者,使用 PlistBuddy:

DISPLAY_NAME="SO-35259889"
/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName $DISPLAY_NAME" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"

然后问题变成“我可以在构建阶段更改 info.plist 值吗?”,可以在here 找到答案。

【讨论】:

    【解决方案3】:

    因此,理论上,您可以更改显示名称,并在具有不同显示名称的不同 git 分支上拥有 50 个相同的应用程序。

    这是如何完成的:https://stackoverflow.com/a/239006

    也就是说,Apple 将拒绝向 App Store 重复提交。此外,您的设备不会将它们视为不同的应用程序。

    【讨论】:

    • 我需要提供更多信息。为了清楚起见,我将编辑我的问题。
    • 建筑不是“之前”而不是“之后”吗?
    • 我还需要更改捆绑 ID。根据运行时下拉的一些配置,这些应用的外观和行为可能完全不同。
    猜你喜欢
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2021-04-09
    • 2012-02-16
    • 2014-11-23
    • 2010-09-19
    相关资源
    最近更新 更多