一. 真机调试

一. 真机测试的简介

  1. 什么是真机测试

    • 真机测试, 简单理解就是将App运行到iPhone上, 测试App
  2. 模拟器与真机环境的差异

    • 内存环境和网络环境:
      • 在模拟器中, 模拟器往往会最大化利用Mac的内存, 因此导致对内存消耗的判断有误, 并且无法模拟移动网络
      • 在真机中, 是以手机的真实环境进行的测试, 并且可以使用移动网络, 因此可以最直接的反馈给我们App的运行情况
    • 传感器
      • 在模拟器中, 无法使用需要传感器功能的App, 只有真机才能具有磁力计/陀螺仪/距离传感器等
    • 特定的功能
      • 如拍照, 打电话, 发短信, 蓝牙等等
    • 综上所述, 在App发布之前, 或者在关键阶段进行调试, 一定要使用真机测试
  3. 怎样做真机测试:

    • 在Xcode7.0之前, 真机测试需要很多麻烦的步骤, 要在Apple官网上申请证书, 限制指定的账号, 电脑, 真机设备
      • 需要申请开发者账号(至少要买个688元的个人账号)
      • 需要为电脑申请cer证书
      • 提交真机测试App的Bundle ID
      • 提交真机测试的真机UDID
      • 根据前三项, 还要生成一个描述文件, 总之是麻烦至极
    • 在Xcode7.0之后, 只要拥有Apple ID以及一部iPhone就可以进行真机测试, Xcode会自动生成对应的证书, 不在需要之前各种繁琐的限定
    • 目前程序员应用的普遍为Xcode7.0+, 因此不对Xcode7.0之前的真机测试做描述

二. Xcode7.0之后的真机调试

  1. 二话不说, 先去AppStore下载一个Xcode7.0+再说

  2. 真机调试的步骤:

    • 进入Xcode的偏好设置(Preferences)
    • 在账户(Accounts)中, 添加自己的AppleID
    • 在选择App的运行环境的时候, 如果计算机检测到有iOS设备连接到电脑时, 就会显示你的真机设备
    • 注意项目的部署版本, 最低为你真机目前的iOS版本
    • 此时点击运行的时候, 会有Failed to code sign "项目名称"的一个警告, 这时由于还没有生成证书和描述文件导致的, 此时只需要点击Fix Issue, Xcode就会自动解决这个问题
    • 但是要注意: 这个过程是需要你的电脑有网络, 并且要耐心等待一阵, 因为Xcode会向Apple发送请求, 请求你的真机可以调试这个App
  3. 真机调试过程中可能出现的问题

    • The account XXX has no team with ID XXX
      • 此问题是一个比较坑爹的问题, 因为无论是真机还是Xcode的配置, 其实都是正确的, 但是就是无法使用
      • 进入苹果开发者中心, 并且进入联系官方的链接
      • 在该链接中选择Apple Developer Program Support
      • 在反馈表单中, 像苹果公司描述一下遇到的问题, 之后就等待苹果公司的回复吧
      • 通常这种问题会在1天之内得到解决
    • An App ID with identifier XXX is not availabele. Plase enter a different string.
      • 此问题比较简单, 由于App的唯一标识符是全球唯一性的, 这意味着你的Bundle identifier与其他App冲突了, 更换即可
    • Could not launch XXX. Process launch failed: Security.
      • 此问题是由于真机设备中没有信任当前开发者导致的
      • 进入到手机的设置界面, 在设备管理中找到对应的Apple ID的开发商应用, 点击信任即可
    • 苹果限制, 免费账号进行真机调试, 同一个AppleID在7天之内只能调试10个不同Bundle ID的App
      • 换一个Apple ID继续测试
      • 或者保证你的项目的BundleID为之前生成过的ID就可以了~

你可能感兴趣的:(一. 真机调试)