首页 > 代码库 > iOS真机调试详解

iOS真机调试详解

  • 真机调试简介
    • 什么是真机调试
    • 为什么要运行在真机上,运行在模拟器上不行吗?
    • 怎样做真机调试
      • 真机调试需要的角色
      • Xcode7.0之前需要什么角色
      • Xcode7.0之后需要什么角色
  • Xcode7.0之前真机调试步骤
  • Xcode7.0之后真机调试步骤

什么是真机调试

所谓真机调试就是将Xcode编写的App运行在真机上。


为什么真机调试

  • 部分功能需要硬件支持,模拟器是不支持的,如:
    • 传感器:磁力计、陀螺仪、距离传感器等
    • 特定功能:拍照、打电话、发短信、蓝牙等
  • 真机的环境和模拟器的环境是不一样,模拟器是使用电脑的环境, CPU、Memory、Disk、Network 这些和真机环境都不一样,有些bug可能会在特定的环境才会出现,比如网络非常慢,内存特别小的时候,可能在模拟器上不会有bug,在真机上就有可能出现bug
  • 使用真机开发比使用模拟器体验更好

真机调试的角色:人、电脑、App、 真机

哪些【人】在哪台【电脑】上使用那些【真机】运行哪些【App】。
Xcode7.0之前对真机调试限制比较多,并不是任何人在任何电脑上使用任何真机运行任何App的,即有4大限制:

  • 限制人
  • 限制电脑
  • 限制App
  • 限制真机设备

Xcode7.0之后只需要【Apple ID】即可,苹果根据Apple ID会自动生产对应的证书文件。在操作上相对比较简单。


Xcode7.0之前真机调试步骤

  1. 限制人- 开发者账号
  2. 限制电脑
  3. 限制App
  4. 限制真机设备
  5. 根据前三项生成描述文件
  6. 检查Bundle Identifier
  7. 配置Build Settings的代码签名标识Code Signing Identity 和 描述文件 Provisioning Profile

申请开发者账号

限制人,不是任意人都可以做真机调试的,真机调试必须拥有开发者账号,称为开发者账号是要交钱的,开发者账号分为三类,不同类型的账号拥有的功能不一样:

  • 个人账号($99 = ¥688RMB)
    • 功能:真机调试、打包测试、程序发布
    • 优点:申请速度快,1~3个工作日即可
    • 缺点:1. iTunes查看的是个人信息,无法间接为公司宣传; 2. 无法创建管理自己的开发团队
  • 公司账号($99)
    • 功能: 真机调试、打包测试 、程序发布
    • 优点:1. iTunes可以查看企业信息,间接为公司宣传; 2. 可以管理自己的开发团队
    • 缺点:1. 申请比较复杂,需要“邓白氏”认证; 2.申请周期比较行(连同“邓白氏编码”申请,最好准备30天左右的时间)
  • 企业账号($299)
    • 功能:真机调试、打包测试
    • 优点
      • 可以在企业内部随意安装到苹果设备,不需要经过AppStore审核
      • 可以创建和管理自己的开发团队
      • 版本更新迭代比较快,不需要审核
    • 缺点
      • 申请复杂,需要“邓白氏”认证
      • 申请周期比较长
      • 不能使用此证书将App 发布到AppStore上

个人账号和公司账号的功能都一样,而企业账号不能发布,企业账号有特定的使用场景,一般都是针对特定人群使用,只在企业内部安装,无需发布到AppStore上供人下载。

公司账号和企业账号都可以创建和管理自己的开团团队,为什么要创建自己的开团团队呢?
首先不能将开发者账号给开发人员,因为开发者账号权限太大,所以要维护一个开发团队,开发团队将邀请每个开发人员(AppleID)做为成员,然后开发者使用自己的Apple ID做真机调试。邀请时会给开发者发送一封邮件,然后同意邀请即可。

经验:尽量不要使用代理公司去申请邓白氏编码,原因是,花钱多,而且申请下来的“邓白氏编码”不一定和苹果服务器数据库内的一致,最终不可用,浪费时间也浪费钱。最正确的做法是直接和苹果客服联系,他们会告诉你申请的具体流程,都需要提交哪些资料,客服电话:400 670 1855

创建Apple ID

打开网站 https://appleid.apple.com/cnsdf
创建您的Apple ID,填写资料—>继续 —-> 此时邮箱会收到验证码,然后输入验证码点击验证即可

技术分享

技术分享

技术分享


加入开发者计划

https://developer.apple.com —–> Account—–> Sign in—-> Join the Apple Developer Program—->enroll(注册)—- 开始注册—-> 选择开发者账号类型(Single Person Business个人业务)continue—>填写个人资料—>continue–>Purchase—> 填写资料继续—>立即下单
技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

相关文章: http://blog.csdn.net/a283127993/article/details/45828175

限制电脑、App、真机设备、生产描述文件具体操作步骤:http://blog.csdn.net/vbirdbest/article/details/51887399

限制电脑

Certificates, Identifiers & Profiles
Certificates:就是用来限制电脑的,每台电脑是不一样的,最终生成一个.cer文件

限制App

Identifiers–App IDs:Bundle ID是用来限制App的

限制真机设备

Devices:就是用来限制哪些真机设备可以真机测试的,注意总共可以添加100次,是次数而不是个数,每年有一次机会清理不需要的设备,剩余次数将增加清除设备的个数

描述文件

Provisioning Profiles:根据 电脑+App+真机设备(Certificates + Identifiers-App IDs + Devices)这三项生成一个描述文件 xxx.mobileprovision, 注意该文件是通用的。
为什么要生成这个文件呢?因为做真机调试是不需要联网的,而刚才的几项配置都是在网络上配置的,需要将配置信息最终下载到本地电脑上,通过下载的文件进行来校验真机能否调试。

具体操作:
最终使用的文件:.cer文件和.mobileprovision文件,只要这两个文件是一对就可以真机调试
双击.cer文件,将证书安装到钥匙串访问中
双击.mobileprovision文件:目的是将该文件复制到/静态库Library/MobileDevice/Provisioning Profiles文件夹中
技术分享

配置App对应的证书和描述文件
技术分享

可以右键证书,导出 个人信息交换.p12文件,这个文件可以给其他同事使用,其同事双击该文件也会在钥匙串访问中出现该证书,在将描述文件给其他同事,这样.p12(相当于.cer),又有.mobileprovision文件,所以其他同事也可以做真机调试了。如果把.cer看成原件的话,.p12文件则为.cer的复印件。要想真机调试需要两个文件.cer|.p12 + .mobileprovision文件

Xcode7.0之后

Xcode–>Preferences—>Accounts—> Add Apple ID 然后选择真机直接允许App,弹出来个框点击Fix Issue即可,这样就完成真机测试了
技术分享

Xcode7.0真机测试Apple ID必须加入苹果开发者计划,而Xcode7.0之后直接使用普通的Apple ID即可真机测试。注意Xcode7.0之后并不是不需要.cer和.mobileprovision文件,而是苹果已经生产了这两个文件,并将.cer文件安装到钥匙串访问里,.mobileprovision已经复制到Library/MobileDevice/Provisioning Profiles文件夹中.

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    iOS真机调试详解