[翻译] iOS代码签名错误诊断索引

iOS代码签名错误诊断索引

原文: iOS Code Signing Troubleshooting Index

本文是一个索引列出了常见的iOS代码签名错误信息。首先请先确保你的项目使用的是自动配置描述文件;这将能解决很多代码签名错误。真机调试的程序、Beta测试程序,或是提交到appstore的程序都需要代码签名,相关的错误会在如下章节说明。

引言

第一步,在遇到代码签名问题时,请先确认你的项目是自动配置描述文件;这是我们推荐和支持的工作方式,而手动配置描述文件的方式会引起更多的错误并且需要花费更多的时间去处理。

确认你的项目是自动配置描述文件

第一步,在遇到代码签名问题时,请先确认你的项目使用的是自动配置描述文件方式。这里有一份关于如何配置自动描述文件的指南

QA1814 Setting up Xcode to automatically manage your provisioning profiles.

真机调试、Beta测试、提交app

第二步,在遇到代码签名问题时,请先确认你遵循了合适的工作方式。下面有一份关于常见代码签名错误的列表,并且这些关于代码签名的流程是被苹果支持的。

xcode 真机调试

App Distribution Guide > App Distribution Guide

Beta 测试

以下分为两块Beta测试

1. TestFlight Beta测试

使用app store发布版描述文件签名你的程序提交到iTnues connect 进行 TestFlight Beta测试。一旦Beta测试通过,在iTnues connect 你就可以简单的把app发布到app store。这是很好的Beta 测试方式,因为你不必重新打包、重新签名你的app到app store 发布。

App Distribution Guide > Beta Testing iOS Apps > Distribuing Your Prerelease Build Using TestFlight

2.Ad hoc Beta测试

只有Ad Hoc Beta测试你不能使用TestFlight

测试Ad Hoc发布的iOS程序,请遵循如下步骤

App Distribution Guide > Beta Testing iOS Apps > Distributing Your Beta App Using Ad Hoc Provisioning

提交到app store

参考如下提交您的app到appstore审核

App Distribution Guide > Submitting Your App to the Store > Submitting Your App to the Store

企业版发布

在iOS开发指南里面这篇文章讲述了企业app发布的流程 > Introduction

客户与生产商发布方式

当开发商生产app必须发布到app客户或自家时,你必须遵循如下方式,进行企业版分发

QA1763 how can a buil engineer distribute an app ou behalf of the team?

让你其他的mac支持代码签名

为了让你其他的mac支持代码签名,作为OS X 的用户,你需要使用 xcode 导出你本机的代码签名文件,详细操作步骤:

App Distribution Guide > 维护您的签名标识和文件 > Exporting and Importing Certificates and Profiles

代码签名错误列表

在前面的章节里,我们确认你遵循使用自动配置描述文件和苹果公司说明的代码签名方式。针对具体的代码签名错误,请参阅下面列表的代码签名主题以及其相应的错误诊断信息。

缺少证书或私钥错误

这些错误表明你在进行代码签名时,缺少了必要的证书或私钥。

Missing Signing Identities
No Matching Signing Identity or Provisioning Profiles Found
The Private Key for Your Signing Identity Is Missing
The Private Key for a Developer ID Certificate Is Missing

参考如下指南解决这些错误

App Distribution Guide > Trobuleshooting > Certificate Issues

对于AppStore版程序,这些缺少签名证书的错误可以通过简单的重新创建证书来解决。参考如下详细说明: App Distribution Guide > Maintaining Your Signing Identities and Certificates > Re-Creating Certificates and Updating Related Provisioning Profiles

对于企业版程序,这些缺少发布证书或私钥的,你必须参考如下讨论的情况: QA1868 - Missing Enterprise Distribution Certificate Private Keys.

描述文件相关的错误

一般的描述文件错误如下:

Invalid Provisioning Profile
Provisioning Profiles Installed on Your Device Are Invalid
No Such Provisioning Profile Was Found

参考如下建议的解决方式:

App Distribution Guide > Troubleshooting > Provisioning Issues

Provisioning Profiles Appear Invalid in Member Center

对于一些描述文件为啥变成不可用的了,参考如下:

QA1878 - Resolving the Provisioning Profile Invalid Status

安装失败

如果你的app在执行安装的过程中发生错误,参考如下:

TN2319 - Installation Failure Troubleshooting for iOS

签名校验错误

如下app校验错误

The bundle is not signed using an Apple submission certificate
Missing or Invalid Signature. (rejection email)
The bundle ... at bundle path ... is not signed using an Apple submission certificate

针对上述的签名校验错误,参考如下:

TN2318 - Troubleshooting Failed Signature Verification.

配置错误

Invalid Code Signing Entitlements

关于配置错误,参考如下指南:

• TN2415 - Entitlements Troubleshooting

• QA1798 - Checking Distribution Entitlements

None of valid provisioning profile allowed the specified entitlements

这种错误表明xcode期望针对你的app指定个配置文件,但是没有发现一个包含描述文件配置文件;针对这种错误有不同的解决方式,取决你的xcode需要的配置文件;

beta-reports-active

参考如下文档:

QA1830 - The beta-reports-active Entitlement.

其他相关配置

  1. 同步本地的xcode描述文件库和当前的状态的证书,程序id :Xcode > Preferences > Accounts > (your account) > View Details > "⟳" button.

  2. 通过具体的分析问题,参考如下配置你的app. TN2415 Entitlements Troubleshooting.

其他错误

本章内容不可能列出所的错误信息,针对一般的错误,请参照如下列表的类型:

Your account already has a valid iOS distribution certificate

这个错误主要是说开发使用的mac缺少发布证书或私钥,因此xcode正在尝试生成一新的发布证书或私钥,然而未能成功,因为你的团队创建的发布证书已经达到最大数量。

使用如下方式解决该问题:

从别的电脑上获取你电脑上缺少的证书或私钥,参考:Enabling code signing on your other Macs
删除并重新创建发布证书,参考:App Distribution Guide > Maintaining Your Signing Identities and Certificates > Re-Creating Certificates and Updating Related Provisioning Profiles

注意:企业版开发者在解决缺少发布证书私钥错误时,应当特别注意如下情况。 QA1868 - Missing Enterprise Distribution Certificate Private Keys

关于

随性而译,无细校对,欢迎指正文中不合适的地方。
[email protected] 翻译于 2016-04-12

你可能感兴趣的:([翻译] iOS代码签名错误诊断索引)