如何在测试设备中同时维护调试和应用商店发布版本?

Posted

技术标签:

【中文标题】如何在测试设备中同时维护调试和应用商店发布版本?【英文标题】:How to maintain both debug and appstore release version in test device? 【发布时间】:2013-05-23 10:08:06 【问题描述】:

我在 App Store 发布了一个 iPhone 应用程序。在下一个版本的开发中,我想在测试设备(iPhone)上维护这两个版本。

但是当我尝试在测试设备上运行下一个版本进行调试时,它会覆盖从 App Store 下载的发布版本。一开始,我猜可以通过在xcode target setting > summary > ios Application Target 中更改版本号来完成,但事实并非如此。我已更改 iOS 应用程序目标中的“版本”和“内部版本”号。

App Store 版本号为 1.1,调试版本号为 1.2 那么,我怎样才能得到这项工作呢?

【问题讨论】:

【参考方案1】:

您能否请duplicate 目标并更改其bundle identifier 。 https://***.com/a/5725711/667586

【讨论】:

【参考方案2】:

如果你有相同的包标识符,你不能在设备/模拟器中保留两个具有相同包标识符的应用程序。

另一种选择是,您可以有两个配置。

在 Navigator 中选择项目 -> 在 PROJECT 下选择您的项目 -> 选择信息选项卡 -> 并在配置中单击加号按钮,创建一个新配置,例如“AppStore”,复制发布配置。

现在,选择您的目标,选择构建设置,您可以在许多设置中找到 AppStore 配置。

您可以为您的应用商店配置创建一个单独的 info.plist。制作当前 info.plist 的副本并为 appstore 配置创建另一个。比如,Info-AppStore.plist。

现在,选择您的目标,选择构建设置,搜索 info plist。对于 AppStore 配置,请给出 Info-AppStore.plist 文件的名称。 在您的应用商店 plist 文件中,您可以为您的应用商店和调试应用提供单独的捆绑标识符。它们可以与相同的代码库共存。

【讨论】:

【参考方案3】:

您可以使用构建设置来根据构建配置更改捆绑标识符,而不是维护多个目标,如here 所述。

总而言之,将目标信息中的捆绑标识符更改为com.mycompany.my-app$BUNDLE_ID_SUFFIX 之类的内容。然后创建一个名为BUNDLE_ID_SUFFIX 的新用户定义构建设置,并将其Release 值设置为空字符串,并将其Debug 值设置为.debug

使用捆绑包显示名称执行此操作也很有帮助。

【讨论】:

【参考方案4】:

抱歉,不可能有两个应用程序具有相同的捆绑标识符(或)临时您可以更改第二个版本的应用程序捆绑包,然后只有您同时拥有两个应用程序

【讨论】:

以上是关于如何在测试设备中同时维护调试和应用商店发布版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何调试仅在提交到应用商店后发生的“无效捆绑包”错误

如何在不同的轨道上发布不同版本的Android应用程序,以测试Play商店中的曲目

已发布应用但 Play 商店未在任何设备上显示更新

我的应用程序的更新版本应在 iTunes 应用程序商店中支付

为 Flutter 应用程序维护不同的版本和内部版本号

Firebase Phone Auth 在发布版本中不起作用