1. 什么是真机调试?
简单理解就是将App项目运行到真机上进行测试.
APP发布之前一定要做真机调试!!!
2. 为什么要运行到真机上, 不是可以运行到模拟器上吗?
真机和模拟器环境的差异
> 内存环境,网络环境;
> 传感器: 磁力计,陀螺仪,距离传感器等;
> 特定功能:拍照, 打电话,发短信,蓝牙等。
> 用户体验不一样
3. 怎样做真机调试?
Xcode7.0之前,并不是任何人,任何电脑,任何APP,任何真机设备都可以进行真机调试的
- 限制人
必须拥有Apple ID([https://appleid.apple.com])
加入开发者计划,升级为开发者账号([https://developer.apple.com])
- 限制电脑
配置与电脑关联的cer证书
需要使用需要真机调试的电脑,生成CSR文件
CSR文件: 证书签名请求文件
- 限制App
配置需要真机测试App的BundleID
区分不同APP,就是通过App的唯一标识: BundleID
- 限制真机设备
配置需要真机测试的真机UDID
苹果每台真机设备都拥有一个唯一标识:UDID
Xcode7.0之后, 做真机调试, 非常简单 只需要拥有Apple ID即可, 不需要以上限制
4. 真机调试注意事项
以上步骤完成后,你会有两个文件:cer文件,MobileProvision文件,只需要双击安装即可.
- 以上步骤完成后,你会有两个文件:cer文件,MobileProvision文件,只需要双击安装即可.
cer证书被添加到钥匙串中
描述文件被安装到Xcode中
资源库 -> MobileDevice -> Provisioning Profiles
- 必须保证cer证书和描述文件一致
Xcode -> targets -> build setting -> code signing
- 创建一个APP,并确认BundleID与配置一致
如果不一致, 修改XCode项目的BundleID, 与配置一致.
- 真机运行时, 如果发现真机设备无法选中, 查看项目最低部署版本是否过高, 大于真机设备的系统版本
如果真机设备系统版本过高, 则无法选中真机进行运行
6. 开发经验
- 尽量不要从网络渠道以及代申请的公司去申请”邓白氏编码”
- 花钱多, 而且申请下来的”邓白氏编码”不一定和苹果服务器数据库内一致, 最终不可用; 浪费时间和金钱
- 最正确的做法: 直接和苹果客服MM联系, 她们会告诉你申请流程, 需要提交哪些材料
- 客服电话: 400 670 1855
- 企业级账号使用场景
App是针对某一特定人群制定使用.只在企业内部安装, 无需发布到AppStore供他人下载 - 真机调试证书只能生成两个!!
(也就意味着,只能绑定两台电脑进行真机调试)
注意:如果别人已经配置了两个,而且正在使用,不能随便把别人的证书删除;
- 解决方案:
此时只能使用从已经配置证书的电脑中,导出P12文件,进行共享;
作 用:
让其他电脑设备不需要生成cer证书,也可以进行真机调试;
钥匙串
生成p12
- 测试的真机设备UDID最多只能添加100次, 而不是100台
也就是说, 如果你加够了100次之后, 即使删除之前的设备名额, 也无法继续添加
苹果会在下一年, 给你一次删除设备的机会, 你可以删除一些设备, 来恢复一些名额.
但是, 一旦你添加了设备后, 苹果则视为你自动放弃添加设备!!
步骤图解(一年才能截一次图呀!!)
测试设备.png
5.真机调试最终需要的文件
cer文件(或者p12文件)
MobileProvision文件
- XCode7真机调试
只需要AppID,在Xcode7 -> preference -> Account 中添加即可
然后直接真机调试时,会弹出一个框,提示缺少描述文件. 直接点击”Fix issue”选项,Xcode会自动请求苹果服务器生成对应的描述文件