Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在向应用商店提交iPhone应用程序之前必须更改捆绑包标识符?_Iphone_App Store_Appstore Approval - Fatal编程技术网

为什么在向应用商店提交iPhone应用程序之前必须更改捆绑包标识符?

为什么在向应用商店提交iPhone应用程序之前必须更改捆绑包标识符?,iphone,app-store,appstore-approval,Iphone,App Store,Appstore Approval,我需要更好地理解这篇文章,因为当我在提交应用程序的过程中达到了这一步时,我的理解就彻底失败了 在开发我的应用程序时,我的捆绑包标识符是com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 说明书上说 在目标信息窗口的属性窗格中,输入应用ID的捆绑标识部分。如果使用了显式应用ID,则必须在标识字段中输入应用ID的捆绑标识部分。例如,如果应用程序ID为A1B2C3D4E5.com.domainname.applicationname,请输入com.dom

我需要更好地理解这篇文章,因为当我在提交应用程序的过程中达到了这一步时,我的理解就彻底失败了

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

说明书上说

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

下面是示例应用程序ID和什么 应该输入到标识符中 Xcode中的字段

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

应用程序ID示例: A1B2C3D4E5.com.domainname.*标识符 要在Xcode中输入: com.domainname

示例应用程序ID:A1B2C3D4E5. 要在Xcode中输入的标识符: 完整\u反向\u dns\u公司\u和\u应用程序\u或\u套件\u名称

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

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

谢谢

编辑

临时发行版、应用商店发行版和我使用的开发配置文件都具有相同的应用id,即通配符XXXXXXXXX。。在organizer中,我仅有的ipod touch资源调配配置文件是我的团队资源调配配置文件和我的开发配置文件。在组织者的“开发人员配置文件”类别下,我有团队、分发、临时和开发,所有这些都带有“”应用程序标识符。在“配置配置文件”中,我有相同的4个配置文件,其中我的ipod touch是临时配置文件中包含的设备

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

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

ipod“my ipod name”没有应用程序签名时使用的配置文件。单击“安装并运行”在“ipod name”上安装配置文件“dev name Ad Hoc”,然后继续运行“app name.app”


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

重要的是,info.plist文件中的捆绑标识、设置配置文件中的捆绑标识以及与应用ID关联的捆绑标识都应该匹配

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


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

我必须编辑我的帖子以回答您的问题,因为我没有足够的空间在此处键入它。请阅读更新。非常感谢您周到的回复!关于每次都能收到同样的信息的那一部分是混乱的。这本不应该发生,但我确实发生过一次。我想我通过重新启动一些东西解决了这个问题。可能是电话,我不确定。谢谢。这就解决了问题的那一部分。我认为我的问题与此相关:问题是,每次我创建一个authorights.plist时,该文件都包含一个根目录,其中包含两项,这两项都不是键“get task allow”。如果我尝试输入此键,则它不会更改任何内容,如果我尝试在没有authorights.plist的情况下构建,则它将失败。如果我断开ipod touch与mac的连接,我可以成功运行该应用程序,但它永远不会在调试模式下运行。问题似乎是使用特殊配置文件的xcode无法进行调试。