为什么必须在将iPhone应用程序提交到App Store之前更改软件包标识符?

时间:2010-07-02 23:18:00

标签: iphone app-store appstore-approval

我需要更好地理解这一部分,因为当我在应用提交过程中达到这一步时,我的理解就变得很糟糕。

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

说明说

  

在“目标信息”窗口的“属性”窗格中,输入App ID的“Bundle Identifier”部分。如果您使用了明确的App ID,则必须在Identifier字段中输入App ID的Bundle Identifier部分。例如,如果您的App ID是A1B2C3D4E5.com.domainname.applicationname,请输入com.domainname.applicationname。如果您在应用程序ID中使用了通配符星号字符,请将星号替换为您选择的任何字符串。

     

以下是示例App ID和内容   应输入标识符   Xcode中的字段。

     

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

     

示例应用ID:   A1B2C3D4E5.com.domainname。*标识符   进入Xcode:   com.domainname。

     

示例应用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 Distribution,App Store分发和开发配置文件都具有SAME应用程序ID,这是一个通配符XXXXXXXXXX。。在组织者中,我用于ipod touch的唯一配置文件是我的团队配置文件和我的开发配置文件。在组织者的开发者配置文件类别下,我有团队,分发,临时和开发,都带有“”应用程序标识符。在'配置文件'中我有相同的4,我的ipod touch作为ad hoc配置文件中包含的设备。

在我的info.plist中,我的ID是com.mysite.myappname。每当我尝试使用我的分发ad hoc配置文件在我的ipod touch上运行应用程序时,我会看到对话框:

'无法在ipod“my ipod name”上运行“myappname”

ipod'my ipod name'没有配置应用程序的配置文件。点击安装并运行以在'ipod name'上安装配置文件'dev name Ad Hoc'并继续运行'app name.app'

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

1 个答案:

答案 0 :(得分:2)

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

如果您能够进行分发构建,则意味着供应配置文件中的分发包标识符与info.plist文件中的分发标识符相同。如果Itunes connect接受了您的提交,则表示与您的应用ID相关联的包标识符也相同。所以你在那里很好。

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