获得批准后,我可以在我的应用中更改捆绑标识符吗?

Posted

技术标签:

【中文标题】获得批准后,我可以在我的应用中更改捆绑标识符吗?【英文标题】:Can I change the Bundle Identifier in my app after it's been approved? 【发布时间】:2011-02-04 06:08:43 【问题描述】:

我的应用程序不久前获得批准并使用了 * 配置文件,因此我创建了如下内容:

com.mydomain.MyApp

但现在我有必要添加推送通知,但我无法使用 * 配置文件,它需要有自己的应用 ID 和配置文件。

我应该如何进行才能在不破坏任何内容的情况下实现应用更新

【问题讨论】:

【参考方案1】:

应用程序的包标识符在更新之间必须始终保持不变,但 AppID 实际上可以不同。因此,您需要做的就是创建一个新的 AppID,该 AppID 使用与原始应用相同的包标识符而不是通配符。

使用通配符的应用仍然需要一个普通的捆绑标识符。通配符 AppID 允许您使用任何您喜欢的包标识符,但它仍然需要一个。

曾经有一个Apple article关于这个: 但是现在已经不能在线使用了但是an archive可以使用了。

【讨论】:

该链接指向技术问答 QA1680,“从通配符 App ID 更新到显式 App ID”,但是 Apple 网站有问题,或者他们现在故意删除了该文章。 这个答案应该被批准 web.archive.org/web/20111006112505/http://developer.apple.com/…【参考方案2】:

如果要发布更新,则不能更改已发布应用的 CFBundleIdentifier,App Store 会在您上传时自动拒绝。所以...

我需要在以前使用通配符应用 ID 开发的应用上启用 iAd。这是我所做的:

我的应用当前使用的通配符应用 ID 为 <AlphaNumeric>.*,而我的应用的 CFBundleIdentifiercom.companyname.mygame

创建了一个新的应用 ID <AlphaNumeric>.com.companyname.mygame

创建了包含新应用 ID 的新开发和分发配置文件。

将新的配置文件下载到 Xcode 和我的设备。

然后我能够使用新的非通配符分发配置文件编译应用程序,这意味着在上传时我可以启用 iAd(或为你推送)。 CFBundleIdentifier 未更改,因此新编译显示为对现有应用的更新。

我可以确认这个过程没有问题。

【讨论】:

所以,换句话说,您不能更改应用程序的捆绑标识符,但您可以在新的 AppID 和使用该新 AppID 的配置文件下发布更新? 只要新的 AppID 包含与原始通配符 ID 相同的字母数字命名空间。因此,如果一家公司(“BenCollins”)在通配符 App ID 1234abcd.* 中创建了一个应用程序(“TheApp”),您需要创建一个新的 App ID 1234abcd.com.BenCollins.TheApp 并使用它。 因此您基本上创建了新的配置文件并使用它们,并且您不会更改捆绑 ID。没有其他变化。那么......应用程序在什么时候切换到尊重新的应用程序 ID?我的问题是我想将应用内购买添加到具有非唯一应用 ID 的应用中。感谢您的任何见解!【参考方案3】:

在标题为“技术说明 TN2259”的文档中的常见问题下,即“将应用内购买添加到您的 ios 和 Mac 应用程序”中,有这一点

问题:我的 iOS 应用程序当前使用 Provisioning Profile 进行签名 使用通配符 App ID。如何启用我的 App ID 以支持 在应用程序内购买?

答案:阅读创建和配置应用程序 ID 部分 iOS 团队管理指南了解如何启用您的应用程序 支持应用内购买的 ID。

链接指向here,并且有一个部分称为“更新您的应用以包括 APNS、iCloud、应用内购买或游戏中心需要一个显式应用 ID”

也就是说,我(目前)不知道应用在什么时候使用新的应用 ID。是在您上传以供审核时,在此之前,还是在已批准时?我现在正在解决这个问题,所以我可能很快就能添加到这个答案中。

编辑: 显式应用程序 ID 只会影响您正在测试的软件,本质上与 iTunes Connect 没有任何关系。这意味着,如果您正在测试应用内购买,则正在运行的软件(您的应用)必须具有基于特定于应用的证书的配置文件。 iTunes Connect 中发生的事情完全无关紧要。

【讨论】:

以上是关于获得批准后,我可以在我的应用中更改捆绑标识符吗?的主要内容,如果未能解决你的问题,请参考以下文章

更改应用程序名称后更改捆绑标识符

xcode更改捆绑标识符以覆盖旧应用程序

如何在 iTunes 连接中更改捆绑标识符

更改 Firebase 的捆绑包 ID

在我可以使用 Sandbox 进行测试之前,我是不是必须让我的应用程序获得 Paypal 的批准?

更改捆绑 ID iOS