2013-08-03 54 views
2

请不要忽略这个作为一个副本,没有完全阅读 - 我已经淘到网和stackoverflow,并发现了很多这样的问题,但没有修复工作,我不知道为什么。供应配置文件在Xcode - 不能转移这个错误

xcode配置在开发中心仍然处于脱机状态并没有帮助,但我仍然可以手动执行此操作。

我准备提交应用程序,存档的代码签名无效。

Provisioning profile 'Company Distribution' specifies the 
Application Identifier 'Company.*' which doesn't match the current 
setting '2Cxxxxx3D5.Company.App' 

所以,问题是,它认为供应配置文件没有我的苹果开发者ID的前缀,当你看下面的设置代码签名选项你会倾向于同意,它说“公司发行配置文件包”公司*'“

但是,在组织者的配置文件中明确指出'2Cxxxxx3D5.Company。*'。 App ID在Organizer中是正确的,但由于某些原因,在代码签名保管箱中出现错误。

到目前为止,我有

  1. 删除所有配置文件从我的机器从iOS中心
  2. 清理构建
  3. 删除所有配置文件,清空编译目录
  4. 重新启动我的MAC
  5. 重新启动我的iPad
  6. 使用JavaScript hack将设备ID插入到新的供应配置文件中,新的appID,重新下载并重新导入。

我有完全一模一样的症状同样的错误再次,我只是不明白为什么曲线在主办单位显然是正确的,但随后似乎并没有通过翻译到配置文件屏幕。

任何人都可以通过我的方式提出任何见解吗? :)

+0

我也经历过这种情况。有几个开发人员在这个项目上工作吗?我会打开.pbxproj文件并删除对证书的所有引用。 – johan

回答

2

啊,codeign的乐趣 - 它绊了很多开发人员试图建立配置设置。这也是Xcode中几个不同设置和潜在的App Store发布配置文件之间的不匹配。有三个地方必须确保设置完全相同,以确保清除此错误,每个地方都与AppID绑定。我回答有关开发证书和发放模板类似的问题,但是同组检查需要你的App Store分发证书和配置文件:

A valid provisioning profile matching the application's identifier could not be found

这个问题包括有关,其中具体的一些附加信息设置的位置以及人们从代码到设备构建所经历的过程。可以使用几乎相同的流程来设置App Store分发 - 将参考从“开发配置文件”替换为“App Store分发”配置文件,并省略那些不适用于分发版本的测试设备配置,您应该很好去。

如果你愿意尝试,并使用调试你目前有,然后阅读:

在代码标志的核心是需要你AppIDs在每个由“证书颁发的文件的匹配,标识符和配置文件“工具以及Xcode项目的构建配置。您可以通过几种方法解决问题,或者更改您的供应配置文件和签名设置以匹配相同的AppId,或更改AppID以匹配您的供应配置文件。了解这些决定的影响非常重要 - 除非您明确需要共享钥匙串访问权限,并且特别不需要任何有权限的服务(应用内购买,推送通知,iCloud,游戏中心,报亭,数据保护等),具有最少限制性结果的选项是更改您的供应配置文件以匹配您当前的AppId。

最快的(但最严格)的路线成功的协同设计建造

你的错误的描述无疑印证了根本的问题 - 你的分布形状命名为“公司经销”,从设定到一个AppID证书,标识符和配置文件工具是“Company。”,但是您的App指定了“2Cxxxxx3D5.Company.App”的AppID,它与代码符号所使用的AppID不匹配。换一种方式,您的项目被配置为当您试图对一个包“Company。”进行编码时,将Bundle ID设置为“2Cxxxxx3D5.Company.App”。 “2Cxxxxx2D5”。部分违反了您(或者Xcode自动配置文件选择器)为您的归档代码操作选择的配置配置文件。

“2Cxxxxx3D5”。你的AppID的一部分看起来像App ID前缀 - 应该在Xcode App ID字段中指定而不是(或Info.plist中派生该字段的值.Xcode会自动为您处理App ID前缀在用于执行代码签名的Provisioning Provisioning Profile中,如果您的Xcode App ID包含此前缀值,请将其删除,以便您的App ID变为“Company.App”。这样,您的应用程序的App ID将成为有效的App ID, 。公司*”发行配置文件即表示正在代码登录时使用的错误

更可持续的修复 - 修复的AppID,并重新发出该发行配置文件

由于Apple继续发布基于“权利”的服务,因此在通配符配置配置文件下发布此应用可能不太合适。相反,保持最大灵活性的最佳方法是为您的公司应用程序发布一个明确的AppID,重新配置Xcode,并重新发布该新的显式AppID的分发配置文件。以上链接的答案可用作分步指南,了解如何执行除分发预配置配置文件之外的每个任务。在高层次上,要完成的任务是:

  1. 更新Xcode项目中的应用程序ID以省略TeamID/App ID前缀。
  2. 确保已编辑的应用程序ID已在Apple的证书,标识符和配置文件工具中注册。
  3. 为新基础发布分发配置文件App ID
  4. 安装到Xcode,重新启动Xcode,然后确保Codesign设置正在使用新的配置配置文件和签名标识。
  5. 运行存档。

一旦获得与分配供应配置文件中编码的应用ID匹配的应用ID,您应该处于运行存档的状态更好。如果您遇到其他问题或问题,请对此答案发表评论,我们可以看到我们可以做些什么。

+0

非常感谢您提供非常详细且有用的答案! – SteveDolphin23

+0

非常欢迎您!希望这有助于让代码签名稍微减少混淆或至少在出现问题时可以诊断! –

相关问题