【问题标题】:Why must the bundle identifier be changed prior to submitting an iPhone app to the App Store?为什么必须在将 iPhone 应用程序提交到 App Store 之前更改捆绑标识符?
【发布时间】:2010-07-02 23:17:59
【问题描述】:

我需要更好地理解这篇文章,因为当我到达应用程序提交过程中的那一步时,我的理解力下降了。

在开发我的应用时,我的包标识符是com.yourcompany.${PRODUCT_NAME:rfc1034identifier}

说明书上说

在 Target Info 窗口的 Properties 窗格中,输入您的 App ID 的 Bundle Identifier 部分。如果您使用了显式 App ID,则必须在 Identifier 字段中输入 App ID 的 Bundle Identifier 部分。例如,如果您的 App ID 是 A1B2C3D4E5.com.domainname.applicationname,则输入 com.domainname.applicationname。如果您在 App ID 中使用了通配符星号,请将星号替换为您选择的任何字符串。

以下是示例应用 ID 以及什么 应输入到标识符中 Xcode 中的字段。

示例应用 ID: A1B2C3D4E5.com.domainname.applicationname 在 Xcode 中输入的标识符: com.domainname.applicationname

示例应用 ID: A1B2C3D4E5.com.domainname.* 标识符 在 Xcode 中输入: com.域名。

示例应用 ID:A1B2C3D4E5.* 在 Xcode 中输入的标识符: full_reverse_dns_company_and_application_or_suite_name

在供应协议中,我的 App id 是 XXXXXX1111.*。所以在标识符中我输入了 com.mysite.myAppName,这绝对是任意的,但这似乎是重点。我构建了提交它的应用程序,一切似乎都正常。但后来我尝试创建 Ad Hoc 分发并将其上传到我的设备,结果是应用程序加载,然后在大约 3 秒后崩溃。起初我不知道出了什么问题,所以我回顾了所有步骤,直到最后我开始更改目标中的标识符。我将其改回com.yourcompany.${PRODUCT_NAME:rfc1034identifier},然后我的应用程序开始在我的设备上完美运行,并提供了 Ad Hoc 分发条款。

那么我的问题是,我需要写什么作为标识符的值,以确保在应用商店团队审核我的应用时我的应用不会崩溃?

谢谢!

编辑

我使用的 Ad Hoc 分发、App Store 分发和开发配置文件都有相同的应用 ID,它是通配符 XXXXXXXXXX。。在管理器中,我为 ipod touch 拥有的唯一配置文件是我的团队配置文件和我的开发配置文件。在组织者的开发者资料类别下,我有团队、分发、临时和开发,所有这些都带有“”应用标识符。在“配置文件”中,我有相同的 4 个,我的 ipod touch 作为临时配置文件中包含的设备。

在我的 info.plist 中,我的 id 是 com.mysite.myappname。每次我尝试使用我的分发临时配置文件在我的 ipod touch 上运行该应用程序时,我都会得到一个对话框:

'无法在 ipod“我的 ipod 名称”上运行“myappname”

ipod“我的 ipod 名称”没有用于签署应用程序的配置文件。单击安装并运行以在“ipod name”上安装配置文件“dev name Ad Hoc”并继续运行“app name.app”

当我单击安装并运行时,应用程序会加载,然后在 3 秒后崩溃,正如我之前所说。似乎配置文件无法在 ipod touch 上安装。

【问题讨论】:

  • 每次都收到相同消息的部分搞砸了。这不应该发生,但它确实发生在我身上一次。我想我通过重新启动某些东西来解决它。 . .可能是电话,我不确定。
  • 谢谢。这清除了问题的特定部分。我认为我的问题与这个问题有关:stackoverflow.com/questions/1488600/… 问题是,每次我创建一个 Entitlements.plist 时,该文件都包含一个带有 2 个项目的根,这两个项目都不是关键的“get-task-allow”。如果我尝试输入此密钥,则它不会改变任何内容,并且如果我尝试在没有 Entitlements.plist 的情况下进行构建,它将失败。如果我将 ipod touch 与我的 mac 断开连接,我可以成功运行该应用程序,但它永远不会在调试模式下运行。
  • 问题似乎是使用临时配置文件的 xcode 无法进行调试。

标签: iphone app-store appstore-approval


【解决方案1】:

重要的是 info.plist 文件中的包标识符、配置文件中的包标识符以及与您的应用 ID 关联的包标识符都应该匹配。

如果您能够进行分发构建,则意味着您的配置文件中的包标识符与您的 info.plist 文件中的相同。如果 iTunes connect 接受了您的提交,则意味着与您的应用程序 ID 关联的捆绑标识符也是相同的。所以你的状态很好。

阅读您的描述,您的临时分发配置文件可能与您的应用商店分发配置文件没有相同的捆绑标识符。如果是这样,这就解释了为什么在从应用商店提交切换到临时分发时必须更改 info.plist 中的包标识符。

【讨论】:

  • 我不得不编辑我的帖子以回复您的问题,因为我没有足够的空间在这里输入它。请阅读更新。非常感谢您的周到回复!
猜你喜欢
  • 2015-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多