您的位置:首页 > 移动开发 > IOS开发

一步步教你学会iOS真机调试,常见证书问题的解决方案以及Xcode7之后免$99真机调试

2016-05-09 16:11 701 查看
我能说脏话么?好吧,为了体现我们是读书人,还是不了…

最近真是被这Xcode真机调试以及证书/配置文件问题搞得想死的心都有了,连着两天遇到各种问题,然后就各种百度,各种Google,就连我多年不用的英语都拿出来在stackoverflow上提问,就为了搞定个真机调试,宝宝心里苦啊,有苦说不出啊

(PS:顺便说一下,能翻墙的尽量翻墙用Google去查问题吧,百度确实真是差了点,就像最近的”魏则西事件”)

好了,下面正式开始真机调试教程

一. iOS真机调试详细教程

Tip:

真机调试和在App Store上发布都必须使用苹果开发者账号(AppID),其费用为$99/年

Xcode7之后可以免$99真机调试,具体教程往下看

iOS真机调试的具体流程如下

Created with Raphaël 2.1.0创建开发者证书(Certificates)设备注册(Devices/UDID)创建AppID(Identifiers)创建配置概要文件(Provisioning Profiles)设备调试

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了.

然后进入配置页面,点击左边的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完成注册.并返回注册页面,就会看到我们刚才注册的设备了



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设备上运行程序并调试了.

二.真机调试中经常遇见的问题及解决方法汇总.

声明:

①以下所有关于证书的问题及解决方案均为本人在项目中遇到的问题,及最后解决的方案.可能由于出现的问题情况不同,不一定适用于所有人,仅供参考.

②因为证书的问题比较多,大家在解决证书问题的时候往往会发现解决掉一个问题后又会出现新的问题,往往不能一次成功,这时就需要再去查询各种资料去解决新的问题,一步步来,一定会解决的!

这里提供一个网站www.stackoverflow.com供大家去查询,本人很多问题后来都是通过这个网站解决的.

③本项持续更新,会不断添加本人项目中的遇到的证书问题及解决方案

(1)No matching provisioning profile found

①问题:

大家在打包发布时往往会遇到以下的类似问题

No matching provisioning profile found

Your build settings specify a provisioning profile with the UUID “some numbers”,however,no such provisioning profile was found.



②解决:

参考

http://stackoverflow.com/questions/34346436/xcode-7-2-no-matching-provisioning-profiles-found

本人的解决:

重启Xcode,对,你没看错,就是这么easy.


(2)待更新…

三.Xcode7免$99真机调试

待更新…
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: