我们开发的程序在经过simulator以及自己的iOS设备测试后,也基本完成应用程序了,这时候我们就可以把它发布出去了更更多的人去测试,我们可以在iOS平台使用ad hoc实现。

你在苹果购买的开发者会员账号,允许100台设备和你的账号关联。你只需要将开发的程序bundle以及发布梗概(ad hoc distribution profile)文件打包成zip文件给测试人员即可。测试人员将打包文件解压,然后将这两个文件拖到itunes,然后同步到设备中即可开始测试程序了。下文我们来详细讲述如何完成ad hoc测试发布。

1.登陆到iOS 开发者中心:http://developer.apple.com/ios/ 。登陆开发者账号,在右上方找到Certificates, Identifiers & Profiles ,点击进入。

2.在iOS Apps下点击Identifiers。在打开的页面单击+按钮,添加一个新的App ID

3.输入有关信息(App ID Description(输入任何内容都可,一般我用程序名称)、App ID Prefix(不用管),Bundle ID(填入你项目的Bundle Identifier))其他的不变,然后点击continue

4.在左边栏,点击(Certificates,Production),点击右上角的+按钮创建新的认证(Certification).

5.在 Production下我们选择App Store and Ad Hoc,然后继续。

6.从我们电脑mac下,进入到Applications/Utilities ,然后找到Keychain Access 打开,从打开的程序菜单中选择Keychain Access

 >Certificate Assistant → Request a Certificate from a Certificate Authority…

7.在弹出的窗口中添加邮件Email(填入开发者账号邮件),常用名Common Name(个人或者公司名称),选择Save to  disk,然后点击continue.保存到桌面

8.回到我们刚才的浏览器。上传我们刚刚生成的CertificateSigningRequest.certSigningRequest

文件,然后单击Generate。等待片刻后声称了一个新的发布认证。

9.点击Download按钮,下载完成后,找到此文件(名称为:ios_distribution.cer

),双击安装。

10.在左边栏 Provisioning Profiles, 单击 Distribution. 这里显示我们需要的发布梗概(distribution profile)文件。  有两种选择 Ad Hoc 和App Store。我们这次是测试发布(ad hoc),所以我们选择Ad Hoc。

11.单击+按钮创建ad hoc,选择我们刚刚创建的 App ID。

12. 在下一步,我们需要选择测试设备。(如果需要添加新设备,在左边栏Devices中添加)。选中需要测试的设备后,点击continue。

13.输入Profile Name信息,(为了以后不混乱,建议使用bundle name+ ad hoc),最后点击generate。稍等几分钟新的补充信息(provisioning profile)就添加好了

14.单击download,保存下载的文件,待会儿需要用到。

15.回到xcode,在xcode -> preference -> accounts ->view details下,刷新就可以查看到我们新添加的provisioning file

16.在xcode 中,scheme选择iOS Device(或者如果你的Mac 连接了设备,选择你的设备也可以)。

17. 从菜单栏中选择product->Archive 。 如果没有发生错误的话,Xcode弹出Organizer窗口

18.选择Export按钮。在弹出界面,选择第二个 Save for Ad Hoc Deployment。选择next.

19.过程弹出选择team,选择正确的team后继续,等待完成后弹出如下窗口

20.单击export,选择一个位置保存(我通常放在桌面)。它会生成一个后缀为.ipa的文件,这就是我们的测试文件。

21.将我们之前保存的provision和这个.ipa文件放在一起,你就可以发给测试者们使用啦。

ad hoc 测试文件进行测试方法如下:

1.打开iTunes,然后进入app界面。

2.将.ipa和provision 文件分别拖到里面。

3.将测试设备(iPhone或者iPad)连接到itunes ,然后找到这个饮用安装同步即可开始在设备上测试了。

ios 8+ (xcode 6.0 +)应用程序Ad Hoc 发布前多设备测试流程详解的更多相关文章

  1. 微信小程序中的微信支付js代码和流程详解

    微信支付流程 步骤 (一)获取用户的信息 (二)统一下单(返回的prepay_id用于第(三)步的请求参数) (三)发起支付请求 操作(这边假设你已经获得了用户的openId) (一).获取用户ope ...

  2. (转)iOS应用程序生命周期(前后台切换,应用的各种状态)详解

    原文:http://blog.csdn.net/totogo2010/article/details/8048652 iOS应用程序生命周期(前后台切换,应用的各种状态)详解         分类:  ...

  3. 转:iOS应用程序生命周期(前后台切换,应用的各种状态)详解

    iOS应用程序生命周期(前后台切换,应用的各种状态)详解 分类: iOS开发进阶2012-10-08 15:35 42691人阅读 评论(30) 收藏 举报 iosapplication任务anima ...

  4. iOS回顾笔记(03) -- 自定义View的封装和xib文件的使用详解

    iOS回顾笔记(03) -- 自定义View的封装和xib文件的使用详解 iOS开发中,我们常常将一块View封装起来,以便于统一管理内部的子控件.如iOS回顾笔记(02)中的"书" ...

  5. iOS之Xcode 8.0真机调试运行:This ** is running iOS 10.1.1 (14B100), which may not be supported

    2016年10月份 苹果升级了iOS系统为10.1,xcode 8.0 运行会提示: This iPhone 5 (Model A1429) is running iOS 10.1.1 (14B100 ...

  6. iOS UI基础-4.0应用程序管理

    功能与界面 功能分析: 以九宫格的形式展示应用信息 点击下载按钮后,做出相应的操作 步骤分析: 加载应用信息 根据应用的个数创建对应的view 监听下载按钮点击 整个应用界面: 程序实现 思路 UI布 ...

  7. ios系统 ipa文件 打包流程详解 及 常见问题处理

    注:先反省一下,原本打算一天一篇,每天进步一点点,但是最近变懒了,居然三天没有更新,在此告诫各位道友及我自己,程序员需戒欲,搞技术需持之以恒,不能三天打鱼,两天晒外. 现在步入主题,前段时间使用xco ...

  8. 小程序2-基本架构讲解(一)JSON配置与详解

    项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件 .wxml 后缀的 WXML 模板文件 .wxss 后缀的 WXSS 样式文件 .js 后缀的 JS 脚本逻辑文件 JSON 配 ...

  9. ios中键值编码kvc和键值监听kvo的特性及详解

    总结: kvc键值编码  1.就是在oc中可以对属性进行动态读写(以往都是自己赋值属性)           2. 如果方法属性的关键字和需要数据中的关键字相同的话                  ...

随机推荐

  1. JavaScript设计模式与开发实践 - 策略模式

    引言 本文摘自<JavaScript设计模式与开发实践> 在现实中,很多时候也有多种途径到达同一个目的地.比如我们要去某个地方旅游,可以根据具体的实际情况来选择出行的线路. 如果没有时间但 ...

  2. vitamio videoView 用隐藏除videoview的控件,并旋转屏幕方向实现的全屏功能,出现的画面不能填充满videoview(画面不完整)

    使用vitamio 封装的播放器 当切换到全屏模式,有时候会出现播放的画面不是全屏的情况, 全屏时,画面只占左半部分并出现拉伸效果,还显示不全,等等其他情况 阅读分析源代码发现是getHolder() ...

  3. assert的用处

    ASSERT函数是用于调试中,也就是说在你的代码中当是Debug的时候它完成对参数的判断,如果是TRUE则什么都不做,如果是FALSE则弹出一个程序中断对话框提示程序出现错误.在Release版本中它 ...

  4. addEventListener,attachEvent

    addEventListener是js填加事件:用法如下: target.addEventListener(type,listener,useCapture) target: 文档节点.documen ...

  5. [接口服务] Jersey Rest Demo

    http://files.cnblogs.com/files/avivaye/RestProject.rar

  6. SqlServer关闭与启用标识(自增长)列

    1 --添加新列 2 ALTER TABLE TABLENAME ADD ID int 3 --赋值 4 UPDATE TABLENAME SET ID = IDENTITY_ID 5 --删除标识列 ...

  7. javascript 函数调用方式

    1. 通过函数名直接调用 函数名(实际参数): 2. 通过指向函数的变量去调用 var 变量=函数名: 变量(实际参数):

  8. android:launchMode的四种方式

    Activity一共有以下四种launchMode: standard singleTop singleTask singleInstance 1.standard standard模式是默认的启动模 ...

  9. Java集合——List接口

    1.定义 List是Collection的子接口,元素有序并且可以重复,表示线性表. 2.方法 add(int index,Object e):在指定索引(和数组下标类似,为0,1,2....)放入元 ...

  10. Javascript面向对象编程:构造函数的继承

    今天要介绍的是,对象之间的"继承"的五种方法. 比如,现在有一个"动物"对象的构造函数. function Animal(){ this.species = & ...