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

我能说脏话么?好吧,为了体现我们是读书人,还是不了…

最近真是被这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设备上运行程序并调试了.

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

待更新…

三.Xcode7免$99真机调试

待更新…

时间: 2024-08-02 11:04:39

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

一步步教你上架IOS APP

第一步:下载/创建证书和分配证书 上面这个是证书,如果有的话直接下载即可,没有的话可以点击右上角的加号新建.具体新建内容此处不再讲解. 这是是Provisioning Profiles.这个新建的时候有两种:第一是直接具体到后缀,例如com.xiaoguizi.NotePad.还有一种是com.xiaoguizi.*.这两种区别不用多说,如果是后者,那么你可以用该Profiles多次.只要后缀不一样即可,而前者只能是发布一个. 然后把这两个都下载下来安装即可. 第二步:打开https://itu

一步步教您学会大数据采集之网易考拉海购商品数据采集教程

本文主要介绍如何使用后羿采集器的智能模式,免费采集网易考拉商品的价格.累计评价.商品图片等信息. 采集工具简介: 后羿采集器是一款基于人工智能技术的网络爬虫软件,只需要输入网址就能够自动识别网页数据,无需配置即可完成数据采集,是业内首家支持三种操作系统(包括Windows.Mac和Linux)的采集工具. 该软件是一款真正免费的数据采集软件,对采集结果导出没有任何限制,没有编程基础的小白用户也可轻松实现数据采集要求. 官方网址:http://www.houyicaiji.com/ 采集对象简介:

一步步教您学会大数据采集之“什么值得买”推荐商品数据采集教程

本文主要介绍如何使用后羿采集器的智能模式,免费采集"什么值得买"商品价格.图片.标题及推荐人等信息. 采集工具简介: 后羿采集器是一款基于人工智能技术的网络爬虫工具,只需要输入网址就能够自动识别网页数据,无需配置即可完成数据采集,是业内首家支持三种操作系统(包括Windows.Mac和Linux)的数据采集软件. 这是一款真正免费的数据采集软件,对采集结果导出没有任何限制,没有编程基础的小白用户也可轻松实现数据采集要求. 官方网址:http://www.houyicaiji.com/

一步步教您学会大数据采集之小说数据采集教程

本文介绍如何使用后羿采集器的智能模式,免费采集乐文小说网上的小说数据. 采集工具简介: 后羿采集器(www.houyicaiji.com)是一款基于人工智能技术的网页采集器,只需要输入网址就能够自动识别网页数据,无需配置即可完成数据采集,是业内首家支持三种操作系统(包括Windows.Mac和Linux)的网络爬虫软件. 该软件是一款真正免费的数据采集软件,对采集结果导出没有任何限制,没有编程基础的小白用户也可轻松实现数据采集要求. 官方网址:http://www.houyicaiji.com/

三个例子,一步步教你学会python爬虫

网络爬虫简介网络爬虫,也叫网络蜘蛛(Web Spider).它根据网页地址(URL)爬取网页内容,而网页地址(URL)就是我们在浏览器中输入的网站链接.比如:https://www.baidu.com/,它就是一个URL.1.审查元素在浏览器的地址栏输入URL地址,在网页处右键单击,找到检查.(不同浏览器的叫法不同,Chrome浏览器叫做检查,Firefox浏览器叫做查看元素,但是功能都是相同的) 我们可以看到,右侧出现了一大推代码,这些代码就叫做HTML.什么是HTML?举个容易理解的例子:我

iOS 淘宝买 开发者证书 进行真机调试

Apple的开发者账号99¥.(反正我舍不得.上淘宝买个证书就可以用自己的iphone/ipad来真机调试代码了) 怎么买? 1.你的apple设备的udid号(设备标识符) 2.支付RMB 从淘宝店老板那里得到了什么? 3个证书如下图所示:   +  p12文件的密码 原理:给店老板你的设备唯一标识符号码,说:我想让这个设备可以被真机调试. 店老板屁颠屁颠的拿着你的udid到苹果开发者网站那边去生成一个mobileprovision的文件. 我们有了这个文件,装到自己的电脑上. 这样我们的设备

ios framework 分离与合并多种CPU架构,分离与合并模拟器与真机

ios  framework 分离与合并多种CPU架构,分离与合并模拟器与真机 如果你所用的framework支持真机和模拟器多种CPU架构,而你需要的是其中的一种或几种,那么可以可以从framework中分离出各种架构,然后合并你需要的,具体的方式举例如下: 首先从framework中分离出armv7 arm64,或者还有armv7s lipo XXXX.framework/XXXX -thin arm64 -output XXXX.framework/XXXX-arm64 lipo XXXX

【IOS视频教学】三个月学会IOS开发

一.windows系统下安装虚拟机-mac系统-视频教程-安装件全套下载:http://www.wyzc.com/forum/56212.html 二.史上最佳0基础Swift语言视频教程下载链接:http://www.wyzc.com/forum/56744.html 三.史上最全的Xcode4.6.5.1.1.6.0三个版本的dmg安装件下载链接:http://www.wyzc.com/forum/56747.html 四.iOS程序运行没有模拟器设备里面只有IOSdevice的几种处理方案

本文来自作者?余博伦?在?GiCa?上分享 「韭菜种四招教你学会甄别

Docker默认空间大小分为两个,一个是池空间大小,另一个是容器空间大小.池空间大小默认为:100G容器空间大小默认为是:10G所以修改空间大小也分为两个:这 如今已经大获市场成功的<王者荣耀>一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之 如果你有了还要创建密码,gi会提示你是否需要覆盖(y n)?Y:确认????????N:取消 如图:生成如上图所示标识生成成功了.其存放路径为 在我理解,面向对象是向现实世界模型的自然延伸,这是一种"万物皆对象"的编程