Answers:
解决方案在于Xcode 5中的新选项,即置备配置文件。只需将项目目标的供应配置文件设置为正确的配置文件即可。
如果您像我一样,并且认为自己尝试了一切,则将项目存档了十次,用力敲键盘,仍然出现此错误。请帮个忙,只需重启XCode,它对我有用。有时苹果...我恨你。
对于我的情况(对不起),我在->常规->身份中将“团队”切换为“无”
在另一种情况下,我需要将此身份从“无”切换到管理身份和配置文件的开发人员帐户。
看起来,Xcode有时会严重干扰代码签名。或者,我们仅仅是凡人,根本不够聪明,无法理解它在做什么。不要放弃,有时我们都会经历一些代码签名折磨!
啊,这个光荣的错误。对于我来说,每当看到此错误时,我都会检查以下内容:
1.允许XCode始终访问您的配置文件信息 -如果XCode一直在询问您何时启动它,就可以访问计算机的私有文件,以便它可以获取带有始终允许访问的选项的配置文件信息,而不是现在,或仅一次-将其设置为“始终允许访问”
2.如果您的项目中有任何旧的授权文件,请摆脱它们,并加以标记 -如果您在项目中看到.entitlements文件,请将其删除(如果不确定,请至少删除对该文件的引用)您可以直接删除它了),然后确保“构建设置”中“代码签名”部分下的“代码签名权利”行为空
3.在线检查您的应用程序服务,并将其与应用程序的XCode中的服务进行匹配 -转到Apple会员中心并检查您的应用程序的应用程序ID,单击该应用程序以查看其“应用程序服务”,然后查看您的应用程序已检查,然后转到XCode并检查“功能”部分,以确保两者在Apple的服务列表相同
4.确保在验证之前为应用程序分配了有效的配置文件 -在Apple会员中心中仔细检查您的应用程序的配置文件,确保它没有过期,具有正确的应用程序ID和正确的捆绑软件ID和分发。下载并单击新的配置文件以确保XCode拥有它,或转到XCode>首选项>帐户>单击您的帐户,然后单击“查看详细信息”,然后单击底角按钮将所有配置文件同步到XCode。您现在应该可以在“代码签名”部分中选择配置文件。一旦有了正确的配置文件,就可以将“代码签名身份”行设置为该配置文件的正确选项。
注意-如果进行分发证书,则可以将所有“代码签名身份”行设置为用于分发的身份(包括调试行)
5.如果所有其他失败-清理项目并重新启动XCode,则下次打开项目并尝试验证时,某些Apple Magic可能工作正常
如果您正在构建旧的3.1.5项目,则Xcode 5会存在一些错误,不幸的是,由于没有Provisioning配置文件可供选择,因此本杰明的答案无法实现。经过一个小时的痛苦的Xcode项目文件阅读之后,我想出了一个对我有用的解决方案:
open -a TextEdit path/to/name.xcodeproj/project.pbxproj
isa=XCBuildConfiguration
)。PBXNativeTarget
一出PBXProject
XCConfigurationLists
)现在,您可以重新打开,存档并提交到App Store了-voilà!它再次起作用!
我认为这是可行的,因为苹果公司决定不再需要任何单独的分发配置,这是一件好事。当我存档时,Xcode会自动编码标志以进行分发。那就是应该首先实现它的方式,对于Apple无法使自动迁移成为IDE的一部分感到遗憾。相反,它们迫使我们的开发人员花了数十年的时间来使这些东西正常工作。
我已经为这个问题苦苦挣扎了一天多,尝试这里和互联网上其他地方建议的各种解决方案。没事...
但是,我终于设法解决了这个问题!
我遇到的问题是过去3年没有接触过的旧应用程序,现在我要发布一个期待已久的更新。自从我发布应用程序以来,Apple一直在更新证书和应用程序ID的工作方式。他们引入了“团队ID”的概念,似乎建议使用它。从那以后,特别是Apple的“证书,标识符和配置文件”网站发生了很多变化。
在那儿,我意识到我用于App Store分发的Provisioning Profile已连接到App ID,ED8xxxxxxx.com.rostsolutions.*
但是在查看我要提交的游戏的App ID时,我注意到App ID是ATMxxxxxxx.com.rostsolutions.Swisch
。因此,App ID前缀不匹配!这似乎是问题的根源。因此,我要做的是改为创建一个连接到App ID的新Provisioning Profile ATMxxxxxxx.com.rostsolutions.Swisch
。使用该Provisioning Profile,我成功地将我的应用程序提交到App Store,现在我可以保持手指交叉,其他一切都可以在Apple端正常进行。
(我首先尝试将新的Provisioning配置文件连接到通配符ID ATMxxxxxxx.com.rostsolutions.*
,但这似乎不起作用)。
但是令我困惑的是,当我查看iTunes Connects中的旧应用程序并转到Binary Details时,它说该应用程序ID为ED8xxxxxxx.com.rostsolutions.Swisch
。那么,为什么“证书,标识符和配置文件”页面将应用程序ID列出为ATMxxxxxxx.com.rostsolutions.Swisch
?
该网站上有一个很好的教程可以解决该问题。
它说,当您的项目捆绑包标识符不同于您在iTunes Connect网站上输入的标识符时,可能会发生此问题。
我认为xcode 5使用“发布”而不是您可能自己创建的“发行版”。
如果以上所有方法都不起作用(对我而言,几天后就没有运气尝试一切),我只有一个Mac应用程序。谨防撤销!
1)手动撤消所有“ Mac App Distribution”和“ Mac Installer Distribution”
2)清理钥匙串中的相关证书和开放密钥(警告:删除前先导出)
3)重新启动Xcode 4)转到(在Safari中)developer.apple .com->证书等
。5)在钥匙串->证书助手中
创建CertificateSigningRequest.certSigningRequest 6)用* .certSigningRequest手动在developer.apple.com上创建“ Mac App Distribution”和“ Mac Installer Distribution”
7)设置配置文件->分发->创建/修复AppStore的自定义配置(我特别将其命名为“ AppStore的Mac配置配置文件”
8)Xcode->设置->帐户->您的帐户->刷新9)Xcode Clean-> Archive-> Validate
我一直在努力解决类似的问题(我正在为Ad-Hoc分发而构建)。自上次成功部署以来,唯一发生变化的就是将两个设备添加到配置文件中。
在仔细检查了所有构建设置之后,我重新生成了配置文件(不进行任何更改),重新下载并运行良好。
因此请注意:如果没有逻辑解释,您可以随时尝试使用老式的IT伏都教。
我还建议使用iPhone配置实用程序,尽管它的名称如此,它对于检查计算机上有哪些配置文件很有用。
错误ITMS-9000:“此捆绑包无效。提交给App Store的新应用和应用更新必须使用XCode 5.1.1或更高版本的公共(GM)版本以及iOS 7 SDK构建。不要提交使用Beta版软件构建的应用。
我遇到了同样的问题,但是这里没有任何内容适合我。但是,我找到了一种对我有用的简单方法。方法如下:
1)在您的项目和目标构建设置中,为所有置备配置文件选择“无”,为所有代码签名标识选择“不进行代码签名”。
2)现在,选择您的Target并进行构建设置。在“代码签名身份发布”设置中,为“任何iOS SDK”选择“ iOS发行版”。然后,在“ Provisioning Profile Release”设置中,为“ Any iOS SDK”选择分发配置文件。之后,您的代码签名身份发布设置将自动更改为“ iPhone分发”。
3)存档您的构建并验证。现在应该可以正常工作了。而已!