在真机调试 iOS 应用:理解 Certificates, Identifiers & Profiles

No matching provisioning profiles found.

No matching code signing identity found.

Your account already has a valid iOS Distribution certificate.

在真机调试 iOS 应用:理解 Certificates, Identifiers & Profiles

由于苹果只允许它授权过的 App 才能运行在 iPhone 等设备上,所以当开发者想用真机测试 App 的时候需要做一些配置才可以,但是如果没搞清楚就会出现很多上面这些烦人的错误,导致不能成功地在手机调试 App 或者打包。

要想用真机测试 App,涉及到4个概念:
Certificates(凭证)表示你是一个合法的开发者,即你注册了开发者账号,凭证包含了你的姓名,邮箱,凭证类型等信息。
Identifiers(标识)指的是 App 的唯一标识。
Devices(设备)即手机设备,每个手机都具有不同的 UDID,就像我们的身份证号。
Profiles(配置)即将 Certificates(凭证),Identifiers(标识)和Devices(设备)整合到一起的一个配置文件。

理解了这4个概念的含义,我们需要在开发者中心做如下4个准备:
1. 创建 Certificates(凭证)。
  根据用途不同,凭证分为2类:
  Development(开发)即在开发阶段在测试手机上调试的时候使用的凭证。
  Distribution(发行) 既在开发完成后,将 App 发布的时候使用的凭证。
  创建完成后将其下载备用。

2. 创建 Identifiers(标识)。
  一般格式为 com.domainname.appname。

3. 注册 Devices(设备)。
  获取手机的 UDID,添加到 Devices 列表。

4. 生成 Profiles(配置)。
  根据需要(Development 还是 Distribution,哪个 App,哪部手机)生成一个配置文件。
  创建完成后将其下载备用。

安装上面第1、4步骤中下载的 Certificates(凭证)和 Profiles(配置)2个文件。
  Certificates(凭证)被被安装到 Keychain Access 中。
  Profiles(配置)将被安装到 Xcode 中。

因为开发和发行使用不同的 Certificates(凭证)和 Profiles(配置),所以上面的步骤你需要操作两遍。最终得到4个文件:

在真机调试 iOS 应用:理解 Certificates, Identifiers & Profiles

在 Build Settings - Code Signing - Provisioning Profile 选项中,根据不同的需求,选择对应所需的刚刚安装的 Profiles(配置)文件。

在真机调试 iOS 应用:理解 Certificates, Identifiers & Profiles

所有的工作已经完成了,可以在Xcode中连手机调试,或者将App打包了。

如果同一个项目要在第二台电脑运行调试,只需要将Certificates(凭证)和 Profiles(配置)2个文件安装到新电脑即可。
Certificates(凭证)可以在 Keychain Access 中导出,
Profiles(配置)可以在开发者中心重新下载。

上一篇:Eclipse使用Maven创建普通Java工程时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories.


下一篇:Undoing Merges