准备

开发者账号

自从Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有app具有“推送”等功能的时候,要真机测试就必须要开发者账号和设置证书。苹果只是让你体验一下它的基本功能,要深入还是要花钱的。

待测试的项目

真机测试步骤

一、创建App ID

二、创建证书请求文件 (CSR文件)

三、根据CSR创建开发者证书(CER)(开发、测试用的Develope证书)

四、添加设备(Devices)

五、根据Devices创建Provisioning Profiles配置文件 (PP文件)

六、设置Xcode 然后真机调试

重点

使用P12 文件 使多台Mac进行真机调试(或者发布) 【重点】

一、创建App ID

1.打开苹果开发者官网,点击“Account”登录会员中心。

2.填写信息创建app ID

点击+创建ID

第一个选项:明确的app id 与项目中的Bundle Identifier相对应

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

第二个选项:通用app id可以在所有不需要明确id的app中使用

淘宝上卖的真机调试证书就是这个

二、创建证书请求文件(CSR文件)

创建CSR文件请看《iOS-最全的App上架教程》的第二点这里就不多说了。

三、根据CSR创建开发者证书(CER)

1. 找到Certificates ,点击All,然后点击右上角 + 号

2. 点击Developement中的iOS App Developement选项

3. 点击Continue

4. 点击Continue

5. 点击choose File.. 选择创建好的证书请求文件:CertificateSigningRequest.certSigningRequest 文件,点击Generate

6. 点击Download下载创建好的发布证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中

7. 双击安装。如果安装不上,可以直接将证书文件拖拽到钥匙串访问的列表中

四、添加设备

1、点击+添加设备到开发者账号中,为制作PP文件做准备

Name:设备的描述 可以随便填 方便你记忆

UDID:设备的标号

2、获取UUID(这里随便提供一种方法获取UUID)

将iPhone手机插入到电脑上 ,打开iTunes,然后按如图操作

3、填入UUID就OK了

五、根据Devices创建Provisioning Profiles配置文件 (PP文件)

1、找到Provisioning Profiles ,点击All,然后点击右上角 + 号

2、选择iOS App Developement,点击Continue

3、在App ID 这个选项栏里面找到你刚刚创建的:App IDs(Bundle ID) 类型的套装,点击Continue

4、选择你刚创建的发布证书(或者生成p12文件的那个发布证书),点击Continue

5、选择设备

注意:wildCard格式的证书没有推送,PassCard等服务的应用,慎重选择。因为PP证书的开发者证书需要真机调试,所以我们需要绑定真机,这里因为之前添加过一些设备,所以这里就可以直接全选添加,如果没有的话,需要将真机的udid复制出来在此添加。在发布的PP文件中,是没有这一步的。

6、在Profile Name栏里输入一个名字(这个是PP文件的名字,可随便输入,在这里我用工程名字,便于分别),然后点击Generate

7、然后点击下载 ,将其下载下来

双击就添加到Xcode中,这样在真机调试或者发布时,就可以分别有不同的PP证书与其对应。其实可以不用下载保存

六、设置Xcode 真机调试

1、设置Bundle ID 和 申请的appid 一致

2、设置Debug的CER证书

3、配置证书描述文件(PP文件)

4、选择真机 进行真机调试

使用P12 文件 使多台Mac进行真机调试 (或者发布)【重点】

1、为什么要使用P12文件

当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。)

这时候,再点击“+”时,就会发现点击不了开发和发布证书,也就是添加不了开发证书和发布证书了:

2、P12文件能解决什么问题

为了不能添加证书的问题我们有2个解决方案

  • 第一种方法——“revoke”(不推荐):

将以前的证书“revoke”掉,

然后重新生成一个新的证书。

这种方法是可以的,但是会造成相应的ProvisioningProfiles(PP文件)失效,这是小问题。但是又要重新申请证书甚至描述文件很浪费时间,所以不提倡这种做法。

  • 第二种方法——“.p12”(推荐):

我们的每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。

3、P12文件是如何使用的

注意:一般.p12文件是给与别人使用的,本机必须已经有一个带秘钥的证书才可以生成.p12文件

导出一个带有私钥的证书(这里我选择调试证书 也就是调试的CER证书 ,其实也可以是 发布证书,只不过那就不用于调试 而是用于上架了)。然后点击导出

填好名字和储存位置,点击储存

填写该P12文件证书的密码,点“好”

然后生成P12文件

其实P12文件不仅是真机测试的时候用,上架的时候也会用,P12文件的使用方法,调试和上架是一样的。最简单的理解就是:把P12文件当做CER文件使用,调试就当调试CER,上架就当发布CER使用。

使用

  • 调试:就是把该教程的第三步创建调试证书省略,将其换成P12文件即可

  • 上架:把《iOS-最全的App上架教程》的第三步穿件发布证书省略,将其换成P12文件即可。

iOS—最全的真机测试教程的更多相关文章

  1. iOS- 最全的真机测试教程

      想要上架的同学请看:<iOS-最全的App上架教程> 因为最近更新了Xcode 8 ,证书的创建都大同小异,只是在Xcode 8中的设置有一些变化,我就在下面补充,如有什么疑问,请联系 ...

  2. Unity导出iOS真机测试教程

    原地址:http://unity3d.9tech.cn/news/2014/0410/40177.html 学 习了两天的Android开发,我感觉Android开发跟IOS开发和.NET平台下的开发 ...

  3. 【转】让Xcode支持iOS12.0 设备真机测试(不断更新真机支持包)Xcode 真机测试 iOS

    最新支持12.0 (16A366)! 所有真机包都是同一大版本号向下兼容.例如12.0 Beta6的真机包,是可以兼容12.0 Beta2及Beta1的. 12.0 (16A366)正式版可用!所有低 ...

  4. 让Xcode8.0支持iOS11.2设备真机测试

    最新支持11.2 (15C5097c)! 11.1 全版本! Xcode只可以支持iPhone手机对应iOS系统以下的真机测试.一般想要支持最新的iPhone手机系统,有两个方法. 第一.就需要更新X ...

  5. 让Xcode支持高版本系统设备真机测试

    最新支持11.2 (15C107) Xcode只可以支持iPhone手机对应iOS系统以下的真机测试.一般想要支持最新的iPhone手机系统,有两个方法. 第一.就需要更新Xcode,这一个方法有一个 ...

  6. iOS 11开发教程(十)iOS11无线连接手机真机测试

    iOS 11开发教程(十)iOS11无线连接手机真机测试 在Xcode 9.0中,已经可以通过无线连接手机进行真机测试了.具体的操作步骤如下: (1)首先需要使用数据线将手机连接到苹果电脑上. (2) ...

  7. iOS 11开发教程(九)iOS11数据线连接真机测试

    iOS 11开发教程(九)iOS11数据线连接真机测试 在Xcode 7.0之后,苹果公司在开发许可权限上做了很多的改变,在测试App方面取消了一些限制.在Xcode7.0之前的版本,苹果公司只向注册 ...

  8. iOS 9应用开发教程之定制应用程序图标以及真机测试

    iOS 9应用开发教程之定制应用程序图标以及真机测试 定制ios9应用程序图标 在图1.12中可以看到应用程序的图标是网状白色图像,它是iOS模拟器上的应用程序默认的图标.这个图标是可以进行改变的.以 ...

  9. iOS Sprite Kit教程之真机测试以及场景的添加与展示

    iOS Sprite Kit教程之真机测试以及场景的添加与展示 IOS实现真机测试 在进行真机测试之前,首先需要确保设备已经连在了Mac(或者Mac虚拟机)上,在第1.9.1小节开始,设备就一直连接在 ...

随机推荐

  1. 夺命雷公狗—angularjs—23—copy拷贝对象

    copy这在angularjs中是一个拷贝对象的方法: <!DOCTYPE html> <html lang="en" ng-app="myapp&qu ...

  2. 夺命雷公狗ThinkPHP项目之----企业网站13之文章列表页的实现(主要是分页的实现)

    列表页这个其实是比较简单的一个,直接遍历除数据即可: public function lists(){ //$mod = M("Article")->select(); // ...

  3. linux中启动与终止lnmp的脚本

    说是lnmp, 其实暂时只是 lnp, 因为还没有安装 mysql 这是脚本: #!/bin/bash function lnmpstart() { nginx /usr/local/php/bin/ ...

  4. 创建数据库和表的SQL语句【转】

    创建数据库和表的SQL语句 转至http://www.cnblogs.com/philanthr/archive/2011/08/09/2132398.html 创建数据库的SQL语句: 1 crea ...

  5. 关于ScrollView中嵌套listview焦点滑动问题 解决

    (第三种,第四种简单推荐使用) 在这里我要提出的是,listview能滚动的前提是:当listview本身的高度小于listview里的子view. 第一种方法 只需在MainActivity中 找到 ...

  6. crontab 误区

    # For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# | . ...

  7. 启动管理软件服务器时,提示midas.dll错误

    首先确认系统以及管理软件目录内是否有midas.dll文件,如果没有,请复制或下载midas.dll到相应目录.系统默认路径为:'c:\windows\system32\' 然后依次打开“开始菜单”内 ...

  8. iptables的四表五链

    iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables.真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构. iptables包含4个表, ...

  9. WINCE 隐藏标题栏

    转自:https://social.msdn.microsoft.com/Forums/en-US/cef1c20a-25cf-49b6-a56e-6bc733be88f8/removing-the- ...

  10. Unix/Linux编程实践教程(二:socket、多线程、进程间通信)

    同一接口不同的数据源: 协同进程: fdopen以文件描述符为参数: fopen和popen: 为了实现popen,必须在子进程中调用sh,因为只有shell本身即/bin/sh可以运行任意shell ...