相关文章链接:
《 Xcode7 免证书/$99 真机调试教程 》
《Provisioning Profile和Code Signing常见问题,原因分析及解决方法汇总.》
最近真是被这Xcode真机调试以及证书/配置文件问题搞得想死的心都有了,连着两天遇到各种问题,然后就各种百度,各种Google,就连我多年不用的英语都拿出来在stackoverflow上提问,就为了搞定个真机调试,宝宝心里苦啊,有苦说不出啊
(PS:顺便说一下,能翻墙的尽量翻墙用Google去查问题吧,百度确实真是差了点)
一.真机调试中常见的证书/Provisioning Profile/CodeSigning问题
本人把平时项目中遇到的Xcode证书等问题都进行了总结.
分析了证书问题的出现原因及列出了有效的解决方案.
参考本人的以下文章,该文章持续更新.
《Provisioning Profile和Code Signing常见问题,原因分析及解决方法汇总.》
好了,下面正式开始真机调试教程
二. iOS真机调试详细教程
Tip:
- 真机调试和在App Store上发布都必须使用苹果开发者账号(AppID),其费用为$99/年
- Xcode7之后可以免$99真机调试,具体教程往下看
- iOS真机调试的具体流程如下
1.创建开发者证书
开发者证书是iOS真机调试必须具有的,且每个开发人员一次仅允许使用一个开发者证书,可以登录Apple Developer进行配置(登录该网站时,需要苹果iOS开发者账号,没有的朋友注册一个吧)
我们进到Apple Developer网站后,将页面滑到最底部,点击Account下的Certificates, IDs & Profiles进入到登录页面,输入你的苹果iOS开发者账号并登录
这时我们已经进入到证书配置门户网站,点击Certificates下的All可看到所有证书
创建证书可以分成两步:
(1)生成证书请求文件
(2)提交证书请求文件到配置门户网站(1)生成证书请求文件
在MacOSX 操作系统的Mac电脑中依次打开”Applications” → “Utilities” → “Keychain Access”进入钥匙串访问工具,界面如下
这时我们依次选择顶部菜单栏”Keychain Access” → “Certificate Assistant” → “Request a Certificate From a Certificate Authority…”
打开”证书助理(Certificate Assistant)”界面,并填写”User Email Address”和”Common Name”,这里我填写的是我的QQ邮箱和我的常用名称.然后在”Request is:”中选择”Saved to disk”并点击”Continue”按钮
在弹出的对话框中选择文件保存名和路径,这里我以默认名称保存在桌面上
(2)提交证书请求文件到配置门户网站
生成CertificateSigningRequest.certSigningRequest文件后,回到配置门户网站.点击下图右上角,打开证书类型选择界面
根据需求选择一个类型后,这里我选iOS App Development作演示,然后一直点击continue按钮直至进入上传证书签名请求的文件页面,如下图:
- 点击ChooseFile,
并上传之前创建的CertificateSigningRequest.certSigningRequest文件,然后点击continue就可以生成证书了,生成后界面如下
- 证书有效期为May 08,2017.这时,我们可以点击Download下在证书用于测试或者发布.点击Done返回证书配置主页,点击左侧栏Certificates下的Development就能看到我们创建成功的证书了.第一个即为之前创建成功的证书,有效期为May 08,2017.
2.设备注册
为了控制iOS的非法使用,苹果要求为调试的iOS设备进行注册.也就是说如果你的苹果手机没有进行过注册,也就不能用于真机调试.
注册过程同样需要在配置中心进行操作,具体步骤如下.
- 进行设备注册之前首先需要获取iOS设备的UDID
- 将iOS设备用数据线连上Mac电脑后,打开电脑上的iTunes,我们找到图中的手机图标并点击,这时大家通常看到的界面是这样的
- 我们单击Serial Number时,会发现该项会由Serial Number->UDID->ECID->Product Type循环切换设备信息.我们只需要切换到UDID并右键Copy就可以获取iOS设备的UDID了.
- 将iOS设备用数据线连上Mac电脑后,打开电脑上的iTunes,我们找到图中的手机图标并点击,这时大家通常看到的界面是这样的
- 然后进入配置页面,点击左边的Devices导航菜单
- 点击 ,会打开如下界面
- 如果是单个iOS设备,我们可以直接在Register Device中填入Name和UDID.如果是批量的设备注册,可以通过Register Multiple Devices上传一个固定格式的设备列表文件来完成.可以通过点击蓝色的Download sample files来下载苹果公司提供的模版.
- 这里我以第一种方式添加单个设备来演示.Name中填写iOS设备名称,这个随便取,你自己知道就行,UDID中添加第一步中获取的UDID.点击Continue,进入以下页面
- 其中Name是我们刚才所填写的Name信息,Model是该系统通过你的UDID所识别的你的iOS设备型号,UDID为你所填写的UDID信息.我们点击Register完成注册.并返回注册页面,就会看到我们刚才注册的设备了
- 这里我以第一种方式添加单个设备来演示.Name中填写iOS设备名称,这个随便取,你自己知道就行,UDID中添加第一步中获取的UDID.点击Continue,进入以下页面
3.创建AppID
设备注册成功以后,还需要为应用创建App ID.
点击左侧的Identifiers下得App IDs,并点击右上角的,进入以下页面
这里我们以通用AppIDs来创建,- Name中填写iOS Universal Development App ID,
- App ID Suffix选择Wildcard App ID,Bundle ID填写com.iOSDev.* (这里一点要填*来表示是通用AppID,适用于所有应用)
- AppServices中我们可以选择需要包含的服务,这里我们以默认方式,
- 点击Continue继续,在出现的页面中点击Register,接着在出现的页面中点击Done,这个时候我们的AppID就创建成功了.
4.创建配置概要文件
配置概要文件(Provisioning Profiles)是应用在设备上编译时使用的,分为
- 开发配置概要文件 : 用于开发(调试)app
- 发布配置概要文件 : 用于发布app
创建配置概要文件步骤如下
点击下图中左侧菜单Provisioning Profiles下的All
我们点击右上角的,进入配置概要文件创建界面,如下图.
这里我们以创建开发配置概要文件为例,点击Development下的iOS App Development,并点击Continue继续
- 在AppID中选择第3步创建的iOS Universal Development App ID,点击Continue继续
- 选择1中创建的证书,并点击Continue继续
- 在选择设备界面选中第2步中注册的设备,我们也可以直接Select All,并点击Continue继续
在Profile Name中输入iOS Development并点击Continue继续
这个时候我们的配置概要文件以及创建成功了,我们可以点击Download将其下载保存到本地.
5.设备调试
- 前面所有的准备工作做好后,接下来我们就可以进行设备调试了,将之前下载的配置概要文件双击打开.就可以将该文件导入Xcode中.
在项目中选择TARGETS下的->项目名称->Build Settings->Code Signing->Code Signing Identity项,
- 在Debug和Release下选择之前创建的证书,
- Provisioning Profile选择之前创建的配置概要文件iOS Development.
- 在Scheme中选择我们的iOS设备
编译成功后,我们就能在我们的iOS设备上运行程序并调试了.