由于Xcode5的到来,关于iOS软件进行真机调试方面,有了一些变化,苹果在Xcode 5中修改了一些规则,一方面是阻止以往破解的方式进行调试(免证书).另一方面是添加了自动生成证书的功能特性,来加快我们开发者生成一些调试用的证书.免去我们频繁要去苹果开发者网站自己生成.
接下来就介绍一下如何在Xcode5中进行真机调试.

一、真机调试所需材料说明

在申请真机调试证书之前,先对苹果真机调试所需的文件进行说明:

苹果真机调试需要证书(Certificates)和描述文件(Provisoning Profiles)

1、证书(Certificates) 通过苹果自带的钥匙串生成后上传到Developer中再生成来完成

2、描述文件(Provisoning Profiles) 生成描述文件时需要选择App ID(包含Bundle,必须与你程序的bundle保持一致,为了能同时调试多个程序,一般bundle填写时末尾用*号代替,后文会具体说明)选择证书(Certificates)及设备(Devices)三样东西

所以如果想要真机调试成功,就必须App ID,证书(Certificates),描述文件(Provisoning Profiles),设备(Devices ),及你所要调试程序的Bundle Identifier保持一致

二、进入申请界面

打开iOS Dev Center,选择Sign in,登陆(至少99美元账号),登陆之后在网页右边找到iOS Developer Program,选择Certificates,Identifiers & Profiles,选择Identifiers

三、添加App ID

选择Identifiers->App IDs,在右侧选择添加按钮添加

App ID由用.符号分开的两部分组成,在默认情况下,App ID的前缀为你的团队ID,后缀被定义为一个bundle ID的搜索字符串,AppID的每一个部分对你的应用程序都有不同而且很重要的用途

1、App ID Description:这部分只是你ID的一个代号,只需填写一个自己能分辨的名称即可,在后面申请证书和描述文件中会涉及到选择项

2、App ID Prefix:这部分是Team ID,系统默认,无需填写

3、App ID Suffix:这部分是App ID后缀,可选择Explicit App ID或者Wildcard App ID

3.1、Explicit App ID

Explicit App ID:如果你打算将应用程序中加入Game Center,或在应用中使用应用内购买,进行数据保护,使用iCloud,或者想要给你的应用程序一个唯一的配置文件,你就必须申请Explicit App ID。

要创建Explicit App ID,在下面的框中输入一个唯一的字符串,这个字符串必须与你的应用程序的Bundle ID匹配,苹果推荐使用 com.你的公司名称.app名称作为你的Bundle ID,如果是选择Explicit App ID,Bundle ID中 不能含有*号

3.2、Wildcard App ID:通用App ID,只需使用com.oschina.*的格式即可匹配多个应用,本文以通用型为例

Wildcard App ID:可以让你用一个App ID来匹配多个App,想要创建一个通用App ID,在输入Bundle ID末尾使用*号

4、App Services:应用程序提供的服务

App Services:选择你应用中将会使用的服务,在App ID注册成功之后也可再次编辑你的选择

在自己应用中所使用到的选项上打√,因为我选择的是通用型(WildCard),所以Game Center,In-App Purchase, Push Notifications都是不可选的,如果要使用这些功能,请选择精确型(Explicit)

完成上面的填写之后,选择Continue

5、确认信息

确认之后选择Submit,出现Registration complete.的字样,选择Done即可

四、添加设备(Devices)

1、将设备连上电脑,打开在XCode的Organizer->Devices中

Xcode5以下的Organizer在软件右上角即可找到,XCode5的Organizer选择Window->Organizer(快捷键shift+command+2)

设备连接上XCode之后Devices中的信号灯有灰色,黄色,绿色三种情况

1.1、灰色灯

如果设备是之前未作为开发机,在Devices中设备上的灯应该为灰色,在右侧有选项将设备作为开发机,点击即可,由于没有新机,无法截图演示

1.2、黄灯,有两种情况

  • 设备未连接好,请将连接线重新插一次,并检查接口是否插紧,如果还是黄灯,则未下一种情况
  • 设备版本高于XCode所能支持的版本,如XCode4.6.3,能支持的最高版本未iOS6.1,如果你的设备未iOS7及以上,此时需要更新至XCode5

1.3、绿灯:说明连接成功,可进行调试

2、查看设备的UDID,如图8,Identifier 后面的一串字母加数字的组合即UDID

3、回到苹果开发者中心,选择Devices 右侧栏的添加按钮,方法与添加App ID相同

下面还可以选择添加多台设备,本人表示智商不够,不会,99美元账号可以添加100台设备,299美元的账号本人不晓得。。

五、添加证书(Certificates)

1、选择添加证书,按图10操作之后选择continue

2、出现教你如何申请证书的界面

2.1、打开电脑中的钥匙串:选择LaunchPad->其他->钥匙串访问

2.2、选择钥匙串访问->证书助理->从证书颁发机构请求证书

2.3、填写邮件地址和名称,点击继续存储,一般存储在桌面(根据个人喜好)

2.4、回到developer的界面,选择Continue,出现上传证书界面

2.5、选择Choose File上传刚才存储的证书,然后选择Generate.

2.6、生成之后会出现可以Download的证书,选择下载双击安装即可

六、添加描述文件(Provisioning Profiles)

1、选择Provisioning Profiles->Development,然后选择右侧添加键添加

2、Select Type -> 选择iOS App Development -> 选择Continue

3、选择App ID,选择我之前添加的com.oschina.*,选择Continue

4、选择证书,选择刚才生成的开发证书,然后选择Continue

5、选择设备,会出现设备列表,一般来说把所有设备都添加进去,方便多台设备调试,不用再申请profile,选择Continue

6、为这个profile命名,不可含有标点,选择Generate

7、选择下载,双击安装即可

七、配置XCode

1、打开XCode,插上设备,如果XCode不显示设备,而是iOS Device的状态,则检查Targets->iOS Application Target->Deployment Target中的版本是否与设备版本不匹配

2、选择上图中Build Settings,将Code Signing中的profile设置成上文下载的Provisoning Profile(joanfen),也可设置成Automatic profile中的iPhone Developer,XCode将会自动匹配描述文件

3、检查Bundle ID是否与描述文件所包含的App ID中的Bundle匹配,选择TARGETS->Summary查看,由于我们申请的是通用型App ID,所以Bundle Identifier只需要是com.oschina.打头即可,后面可以随意填写

八、选择真机设备,运行,大功告成。

原文地址:http://my.oschina.net/joanfen/blog/167730

iOS真机调试 for Xcode 5的更多相关文章

  1. iOS 真机调试不能连接网络的排错过程

    开发环境: macOS 10.12.1 Xcode 8.1 Qt 5.8 gSOAP 2.8 iPhone 6S+iOS 10.1.1   问题: 使用 Qt Quick 写了一个跨平台的应用,在Wi ...

  2. iOS真机调试之我见

     入职20多天,以前一直以为iOS真机调试是多么复杂的事情,但在公司大牛的帮助下:终于理清头绪,由于公司证书已申请,文章中免不了旁征博引. 1.首先,得有苹果开发者账号,如果在公司,公司会提供:不在公 ...

  3. ios真机调试教程(不上架App Store安装到手机)

    原文 不上架App Store安装到手机调试测试,需要用到ios真机调试证书打包的ipa才能安装到非越狱的手机使用. 2017年最新整理的ios真机调试的详细图文步骤流程,轻松的把你开发的ios ap ...

  4. React-Native iOS真机调试(新版)

    2019独角兽企业重金招聘Python工程师标准>>> React-Native iOS真机调试 看到网上很多以前的文章 找到两种方法 一 修改AppDelegate 把URL的替换 ...

  5. react native iOS真机调试-联网问题与js严格模式

    rn:strict mode does not allow function declarations in a lexically nested statement https://blog.csd ...

  6. 解决低版本Xcode不支持高版本iOS真机调试的问题

    1.现象截图 Could not locate device support files. This iPhone 6s is running iOS 11.1 (15B93), which may ...

  7. IOS 真机调试

    真机调试的步骤: 1.注册成为苹果开发者(99$) 2.登陆苹果开发者主页 https://developer.apple.com/membercenter/index.action 3.点击 Cer ...

  8. IOS 真机调试以及发布应用 2

    参考网站:http://my.oschina.net/u/1245365/blog/196420 已经有开发证书的直接跳过第一步 第一步:申请“开发证书” 进入苹果开发者99美元账号: 选择:Cert ...

  9. IOS 真机调试以及发布应用 1

    参考网站:http://my.oschina.net/u/1245365/blog/196263   Certificates, Identifiers &Profiles 简介 Certif ...

随机推荐

  1. 2017广西邀请赛 Query on A Tree (可持续化字典树)

    Query on A Tree 时间限制: 8 Sec  内存限制: 512 MB提交: 15  解决: 3[提交][状态][讨论版] 题目描述 Monkey A lives on a tree. H ...

  2. 算法练习(js)

    1. 问题:Spinal Tap Case 将字符串转换为 spinal case.Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也 ...

  3. 【POJ 3177】Redundant Paths

    http://poj.org/problem?id=3177 又写了一遍手动栈... 把边双都缩点,缩成一棵树,答案就是树中度数为1的点的个数除2上取整. 为什么呢?因为1个度数为1的点的树需要多连0 ...

  4. BZOJ 2157 旅游(动态树)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2157 [题目大意] 支持修改边,链上查询最大值最小值总和,以及链上求相反数 [题解] ...

  5. 【动态规划】 Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip

    划分那个序列,没必要完全覆盖原序列.对于划分出来的每个序列,对于某个值v,要么全都在该序列,要么全都不在该序列.  一个序列的价值是所有不同的值的异或和.整个的价值是所有划分出来的序列的价值之和.   ...

  6. (原创)Stanford Machine Learning (by Andrew NG) --- (week 3) Logistic Regression & Regularization

    coursera上面Andrew NG的Machine learning课程地址为:https://www.coursera.org/course/ml 我曾经使用Logistic Regressio ...

  7. Activit(活动)实践--知晓当前活动

    实际上,我们可能用的不是自己写的项目,而是从别人那里接手过来的代码,因为你刚进公司就有一个新项目开始的概率十分低.阅读别人代码时会有一个很头疼的问题,就是当你需要在某个界面上修改一些非常简单的东西时, ...

  8. [转]Servlet的load-on-startup

      在servlet的配置当中,<load-on-startup>5</load-on-startup>的含义是: 标记容器是否在启动的时候就加载这个servlet. 当值为0 ...

  9. #iOS问题记录#UITableView加载后直接滑动倒最底部

    类似QQ的聊天框,当进入聊天框,直接滑动倒最底部: 需要先将以他变了view滚动倒底部,再来移动NSIndexPath, 代码如下: -(void) doForceScrollToBottom { d ...

  10. Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题

    别试了,这个问题无法解决,已经使用VMware安装了一层虚拟机,然后在里面再安装KVM,网络层次已经变了,即使配置了网桥同样无法上网. 可是这样试一下,不一定成功:把VMware的虚拟机绑定另一张物理 ...