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. windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,由标题就能看出此内容不是一篇分享文章能说完的,所以我打算分几篇分享文章来讲解,一步一步实现分 ...

  2. iOS开发之再探多线程编程:Grand Central Dispatch详解

    Swift3.0相关代码已在github上更新.之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread.操作队列以及GCD,介绍的不够深入.今天就以GCD为主题来全面的总结一下GCD ...

  3. [原] KVM虚拟机网络闪断分析

    背景 公司云平台的机器时常会发生网络闪断,通常在10s-100s之间. 异常情况 VM出现问题时,表现出来的情况是外部监控系统无法访问,猜测可能是由于系统假死,OVS链路问题等等.但是在出现网络问题的 ...

  4. ABP领域层

    1.实体Entites 1.1 概念 实体是DDD(领域驱动设计)的核心概念之一. 实体是具有唯一标识的ID且存储在数据库总.实体通常被映射成数据库中的一个表. 在ABP中,实体继承自Entity类. ...

  5. SAP CRM 性能小技巧

    导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...

  6. BPM生产安全管理解决方案分享

    一.方案概述生产安全管理是企业生产管理的重要组成部分,组织实施好企业安全管理规划.指导.检查和决策,保证生产处于最佳安全状态是安全管理的重要内容和职责.H3 BPM企业生产安全管理解决方案是一套专门为 ...

  7. Android使用静默安装时碰见的问题

    升级时碰见的异常 private void installPackage(String appName,final File apk) { if (!apk.exists()) { setHasNew ...

  8. 【Java并发编程实战】-----“J.U.C”:Exchanger

    前面介绍了三个同步辅助类:CyclicBarrier.Barrier.Phaser,这篇博客介绍最后一个:Exchanger.JDK API是这样介绍的:可以在对中对元素进行配对和交换的线程的同步点. ...

  9. 浅谈命令查询职责分离(CQRS)模式

    在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体.在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能 ...

  10. Java的几个同步辅助类

    Java为我们提供了一些同步辅助类,利用这些辅助类我们可以在多线程编程中,灵活地把握线程的状态. CountDownLatch CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行 ...