No matching provisioning profiles found.

No matching code signing identity found.

Your account already has a valid iOS Distribution certificate.

由于苹果只允许它授权过的 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个文件:

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

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

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

在真机调试 iOS 应用:理解 Certificates, Identifiers & Profiles的更多相关文章

  1. 使用未付费的账号真机调试 iOS 程序,过几天后程序一打开就会闪退

    使用未付费的苹果开发者账号真机调试 iOS 程序,过几天后程序一打开就会闪退.   解决办法: 删除 Provisioning Profile,重新配置一次. 终极解决办法:花钱购买苹果开发者账号. ...

  2. Xcode 7如何免费真机调试iOS应用

    Xcode 7如何免费真机调试iOS应用的简单方式: 运行Xcode后,点击菜单中的Preferences…进入Accounts标签,这里选择添加Apple ID:在弹出的对话框中登入你的Apple ...

  3. 使用Xcode 7 beta免费真机调试iOS应用程序

    使用Xcode 7 beta免费真机调试iOS应用程序 六月 9, 2015  |   K-Res 发布   今天凌晨的WWDC15虽然没有熬夜守候吧,但也还是早起第一时间翻看了twitter的相关标 ...

  4. React Native 真机调试(iOS / Android)

    React Native 真机调试(iOS / Android) https://reactnative.dev/docs/running-on-device https://developer.ap ...

  5. 【转】Xcode7真机调试iOS应用程序

    原文网址:http://i.cnblogs.com/EditPosts.aspx?opt=1 近日苹果发布的新的Xcode7带来了许多特性,比如:swift语言比以前运行更快.功能更强.代码具有更高的 ...

  6. Xcode7真机调试iOS应用程序

    金田 近日苹果发布的新的Xcode7带来了许多特性,比如:swift语言比以前运行更快.功能更强.代码具有更高的可读性.Xcode的测试功能可以帮助用户记录应用程序的行为等,还有我们今天要讲到的Xco ...

  7. Xcode7.2如何真机调试iOS 9.3的设备

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 本猫的mac系统为10.10,Xcode版本为7.2 本猫将i ...

  8. 如何配置React Native真机调试-iOS

    说在前面,本教程是建立在项目已经成功在模拟器上运行的基础上,如果你是还未配置好环境的新手,建议先从官网快速入门开始:官网英文版 . 中文版 ok, 切入正题,当你已经完成好环境配置,在模拟器上成功的运 ...

  9. react native在xcode真机调试ios

    1修改URL地址:打开项目目录下的AppDelegate.m文件,修改里面的URL,把localhost改为你的电脑的IP.在Mac系统下,你可以在系统设置/网络里找到电脑的IP地址. 2选择设备:把 ...

随机推荐

  1. ABP文档 - EntityFramework 集成

    文档目录 本节内容: Nuget 包 DbContext 仓储 默认仓储 自定义仓储 特定的仓储基类 自定义仓储示例 仓储最佳实践 ABP可使用任何ORM框架,它已经内置了EntityFrame(以下 ...

  2. OpenCASCADE Job - dimue

  3. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  4. 基于fis3的组件可视化道路

    首先说明一下,即使不熟悉fis3,阅读文本应该也会有所收获. 本文以fis-parser-imweb-tplv2插件为模板插件,目的不在于使用哪个模板,而是组件可视化的实现思路,不必担心. 先说说模板 ...

  5. iOS 委托与文本输入(内容根据iOS编程编写)

    文本框(UITextField) 本章节继续编辑 JXHypnoNerd .文件地址 . 首先我们继续编辑  JXHypnosisViewController.m 修改  loadView 方法,向  ...

  6. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  7. JAVA回调机制解析

    一.回调机制概述     回调机制在JAVA代码中一直遇到,但之前不懂其原理,几乎都是绕着走.俗话说做不愿意做的事情叫做突破,故诞生了该文章,算是新年的新气象,新突破!     回调机制是什么?其实回 ...

  8. 【JS基础】正则表达式

    正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...

  9. Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder

    Stack Overflow 排错翻译  - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder 转自:ht ...

  10. Linux上课笔记--随手记Linux命令

    初次接触Linux就是感觉这系统不够友好不够人性化,因为首先接触电脑就是win,图形化界面什么操作都可以清晰看到.随着更多的接触越来越发现Linux的强大,虽然我只是一个小白,可我就是爱上他了.现在就 ...