【问题标题】:Can we have 2 ios apps with same bundle id target different ios?我们可以有 2 个具有相同捆绑 ID 的 ios 应用程序针对不同的 ios 吗?
【发布时间】:2025-11-27 06:05:03
【问题描述】:

我们可以让 2 个具有相同捆绑 ID 的 iOS 应用针对不同的 iOS 吗?

在一个场景中,我想让我的应用程序支持 iOS 8,并从头开始创建一个新应用程序,该应用程序仅支持具有相同捆绑 ID 的 iOS 9。 因此,iOS 8 用户可以安装现有应用,iOS 9 用户可以安装新应用。

这可能吗?

【问题讨论】:

  • 为什么您认为需要两个独立的应用程序来支持 iOS 8 和 9?在一个应用中支持这两个版本很简单。
  • UI 完全不同,我打算只支持 iOS 9 功能(堆栈视图、天桥、聚光灯搜索等),而不用担心应用程序是 iOS 8 还是 iOS 9。所以保持当前应用程序与 iOS 8 和仅适用于 iOS9 用户的新应用。

标签: ios ios8 ios9 bundle-identifier


【解决方案1】:

根据您的评论,听起来您正在寻找的是 Apple 自动提供的 latest compatible version 功能。

如果您在 App Store 中有一个支持 iOS 8 的现有应用,然后发布该应用的仅支持 iOS 9 的更新版本,则之前的版本仍可供 iOS 8 用户下载。当他们尝试安装应用程序时,会收到一条消息,询问他们是否要下载兼容版本。

另请注意,如果您想关闭此功能并且不提供以前的版本,请参阅this question

【讨论】:

  • 这假设 OP 不希望继续支持或更新 iOS 8 的版本,这可能是真的,也可能不是。
【解决方案2】:

Bundle ID 必须是唯一的。

在链接中:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html#//apple_ref/doc/uid/TP40012582-CH28-SW16

您输入的产品名称和公司标识符被连接到 使用反向域名服务创建默认捆绑 ID (反向 DNS)表示法。捆绑包 ID 需要对您的应用程序是唯一的, 所以将公司标识符设置为唯一的字符串很重要 嗯。

在不同设备上开发应用时,您只需使用相同的捆绑 ID。但是当您提交到 Apple Store 时,您需要使用不同的捆绑 ID。

【讨论】:

  • 我无法确认,但我认为如果您提交适用于 iOS 8 的应用程序并在安装了 iOS 8 的设备上下载,并在提交适用于 iOS 9 的应用程序后,该应用程序将继续在 iOS 的 iPhone 上运行8,但没有升级。装有 iOS 8 的新设备不应找到更多可供下载的应用程序。无论如何,提交中的项目版本会发生变化。我再说一遍,我只是认为,我不能说,我唯一的声明是捆绑 ID 必须是唯一的。
【解决方案3】:

bundle id 是唯一的,所以没有

【讨论】:

    【解决方案4】:

    好的,所以我直接询问了 Apple。这是他们的回应:

    “感谢您联系 Apple 开发人员技术支持 (DTS)。

    您描述的行为和由此产生的限制是由 设计。

    如果您认为应该考虑替代方法 Apple,我们鼓励您提交包含信息的增强请求 关于此设计决策如何影响您,以及您希望看到什么 不同。

    虽然没有承诺这种行为会 改变,这是确保您对此事的想法的最佳方式 由负责决策的团队看到。

    技术支持期间 事件 (TSI) 最初​​是从您的 Apple Developer Program 中扣除的 考虑到此请求,我们已将替换事件分配回 您的帐户。

    Apple 开发者支持 全球开发者关系”

    【讨论】:

      最近更新 更多