## 01-真机调试
### 什么是真机调试?
:: 简单理解就是将App项目运行到真机上进行测试
### 为什么要运行到真机上?
*真机和模拟器环境的差异*
:: 内存环境,网络环境;
:: 传感器: 磁力计,陀螺仪,距离传感器等;
:: 特定功能:打电话,发短信,蓝牙等。
:: 用户体验不一样
** APP发布之前一定要做真机调试!!! **
### 怎样做真机调试
** Xcode7.0之前,并不是任何人,任何电脑,任何APP,任何真机设备都可以进行真机调试的**
1. 限制人
> (1)必须拥有Apple ID(https://appleid.apple.com)
> (2)加入开发者计划,升级为**开发者账号**(https://developer.apple.com)
2. 限制电脑
> 配置与电脑关联的cer证书
:: 需要使用需要真机调试的电脑,生成CSR文件
:: CSR文件: 证书签名请求文件
3. 限制App
> 配置需要真机测试App的BundleID
:: 区分不同APP,就是通过App的唯一标识: BundleID
4. 限制真机设备
> 配置需要真机测试的真机UDID
:: 苹果每台真机设备都拥有一个唯一标识:UDID

** Xcode7.0之后, 做真机调试, 非常简单 只需要拥有Apple ID即可, 不需要以上限制**

### 真机调试注意事项
1. 以上步骤完成后,你会有两个文件:*cer文件*,*MobileProvision*文件,只需要双击安装即可.
:: cer证书被添加到钥匙串中, 描述文件被安装到Xcode中(*资源库-> MobileDevice-> Provisioning Profiles*)::
2. 必须保证cer证书和描述文件一致(Xcode->targets->build setting-code signing)
2. 创建一个APP,并确认BundleID与配置一致
3. 真机运行时, 如果发现真机设备无法选中, 查看项目最低部署版本是否过高, 大于真机设备的系统版本

 

----
备注补充
----

1. 开发者账号分类
> 个人账号(99$)==688
:: 功能:可以真机调试, 打包测试, 程序发布. ::
:: 优点:申请速度快, 给钱就行, 1-3个工作日即可 ::
:: 缺点:
:: 1> iTunes查看到的是个人信息, 无法间接为公司做宣传
:: 2> 无法创建管理自己的开发团队
> 公司账号(99$)
:: 功能:可以真机调试, 打包测试, 程序发布. ::
:: 优点:
:: 1> iTunes可以查看企业信息, 间接为公司做宣传
:: 2> 可以创建和管理自己的开发团队
:: 缺点:
:: 1> 申请复杂,需要”邓白氏”认证
:: 2> 申请周期比较长(连同”邓白氏编码”申请, 最好准备30天左右时间)
** 经验: 尽量不要从网络渠道以及代申请的公司去申请”邓白氏编码”, 一个花钱多, 而且申请下来的”邓白氏编码”不一定和苹果服务器数据库内一致,最终不可用,导致浪费时间和金钱 **
** 最正确的做法: 直接和苹果客服MM联系, 她们会告诉你申请流程, 需要提交哪些材料 **
** 客服电话: 400 670 1855 **
> 企业账号(299$)
:: 功能:可以真机调试, 打包测试 ::
:: 优点:
:: 1> 可以在企业内部随意安装到苹果设备,不需要经过AppStore审核
:: 2> 可以创建和管理自己的开发团队
:: 3> 版本更新迭代比较快, 不需要经过审核
:: 缺点:
:: 1> 申请复杂,需要”邓白氏”认证
:: 2> 申请周期比较长(连同”邓白氏编码”申请, 最好准备30天左右时间)
:: 3> 不能使用此证书,将App发布到AppStore
** 使用场景:App是针对某一特定人群制定使用.只在企业内部安装, 无需发布到AppStore供他人下载 **

 

----
经验补充
----
1. 真机调试证书只能生成两个!!(也就意味着,只能绑定两台电脑进行真机调试)
*注意:如果别人已经配置了两个,而且正在使用,不能把别人的证书删除;*
*解决方案:此时只能使用从已经配置证书的电脑中,导出P12文件,进行共享*
:: 作用: 让其他电脑设备不需要生成cer证书,也可以进行真机调试::
- 第一步

- 第二步

2. 测试的真机设备UDID最多只能添加100次, 而不是100台
:: 也就是说, 如果你加够了100次之后, 即使删除之前的设备名额, 也无法继续添加 ::
** 苹果会在下一年, 给你一次删除设备的机会, 你可以删除一些设备, 来恢复一些名额, 但是, 一旦你添加了设备后, 苹果则视为你自动放弃添加设备!! **
** 如图所示:一年才能截一次!!!! **

3. 真机调试最终需要的文件
** 你会有两个文件:cer文件(或者p12文件),和MobileProvision文件,只需要安装即可 **

4. Xcode7真机调试
** 只需要AppID,在Xcode7->preference->Account 中添加即可**
** 然后直接真机调试时,会弹出一个框,提示缺少描述文件. 直接点击”Fix issue”选项,Xcode会自动请求苹果服务器生成对应的描述文件**