一、发布测试,是指将你的程序给

  * 你的测试人员,因为程序总归是要测试的
  * 你的客户,在正式发布之前,客户肯定是要先看(验收)的
在他们的iOS设备(iphone,ipod, ipad)安装,运行。
 
二,阅读前提:你自己已经完成了真机测试,意味着:
  1、你已经加入了苹果的"iOS developer program",标志事件是付了$99。
 
2、在iOS Provisioning Portal生成了开发证书
 
 
  3、在xcode完成了证书的安装。菜单:window->Organizer,然后选择Devices
 
 
 
三,发布流程。
  
 图:发布流程
1、3个角色:Tester,就是上述测试人员或者你的客户;Developer,就是你了;Program Portal,苹果官方网站,登录你的“Member Center”,就能看到了,

2、3个主要步骤,见图发布步骤,

  1)获取Tester设备udid
  2)到Program Portal生成ad hoc发布证书
  3)在xcode中使用该证书打包(Archive)程序
以上3个步骤后续会详细说。

假设你的Tester(团队里的测试人员、你的客户)有一定iOS设备使用经验,至少大致会用itunes。

要获取你的Tester的iOS设备UDID:
1、将iOS设备插到安装了itunes的pc/mac,itunes会弹出显示设备概要信息界面,如下图,

这里我们可以看到设备的12位序列号,这不是我们想要的。

2、点击序列号,设备概要界面显示设备udid,如下图,

 
CTRL-C(mac下为Command-C)拷贝下来,然后QQ或者邮件发给你。
注:1)虽然点击udid,界面什么变化也没有,但是确实是可以拷贝
      2)千万不要让人家一个个字符抄,你不可惜人家辛苦,也得想想抄40左右得字符很容易出错。
 
UDID拿到了,得在iOS provisioning portal上将它加Device列表上,以下是具体步骤:
1、登录会员中心(Member Center)

到苹果开发者官方网站(developer.apple.com),选择Member Center,如上图。

2、使用你的Apple ID登录,如下图

 
(是写得有点罗嗦)\

3、在会员中心,选择iOS Provisioning Portal,如下图,

4、进入Provisioning Portal主界面,如下图,

5、选择“Devices”,然后选择“Add Devices”, 出现下图界面,

一个地方填名称,一个地方填你从Tester那里拿到的udid。

iOS证书分2种,1种是开发证书,用来给你(开发人员)做真机测试的;1种是发布证书,发布证书又分发布到app store的(这里不提及)和发布测试的ad
hoc证书。

那ad hoc证书和开发证书区别在哪里?如果你的tester(团队测试人员、客户)都能将测试设备拿到你面前,直接插到你的mac开发机上,你可以直接将程序“灌”进去,那有开发证书就够了,不需要ad
hoc证书。
  如果tester的iOS设备不能直接让你灌程序,那怎么办?你必须打包(Archive)你的程序,然后发给你的tester,让他通过itunes进行安装,那就需要ad hoc证书了。
   具体的区别,我们先看看ad hoc证书生成过程,和开发证书生成非常类似,
1、进入Provisioning Portal主界面,如下图,

如何进入Provisioning Portal主界面,可以参考“iOS程序发布测试2-获取Tester设备UDID”)

2、选择Provisioning,然后选择Distribution,如下图

 
这是开发证书和发布证书生成时的一个区别,在文章“iOS程序发布测试4-打包(Archive)发布(share)”中会说到使用的区别。

3、选择“New Profile”,出现新建发布证书界面,如下图,

选择“Ad Hoc”,然后选择Tester的设备ID(如何获取和添加Tester设备ID,见“iOS程序发布测试3-获取Tester设备UDID”)。
 
4、下载证书到本地,

 
点击“Download”,将证书下到本地。
注:如果status是“pending”,刷新一下就成“Active”了。
 
5、导入证书。双击,出现Xcode(我这里是4.0)provisioning界面,如下图,

证书生成好,而且导入了,接下来就是打包(Archive)和发布(share)了。

发布测试的最后一步打包(Archive),前面几个步骤:
Xcode4 真机程序发布测试1-准备
Xcode4 真机程序发布测试2-获取UDID
Xcode4 真机程序发布测试3-生成ad
hoc证书

Xcode4帮助文档有比较详细介绍,但是居然是错的,这里说明一下。
1、设置“Build Settings”,下图是官方文档截图,留意那个红框,居然说反了。

 
"Skip install"一定要选NO,否则在下面的打包步骤后,Organizer看不到你的程序,就为这折腾我好些时间,国外论坛一堆问题,说我按照官方文档做了,怎么Organizer看不到程序。

1.1 选择ad hoc证书.在“Code Signing”栏,选择你在文章(“iOS程序发布测试3-生成ad hoc证书”)生成的发布证书(ad
hoc),如下图,

 
这里要选择“iPhone Distribution”,而不是“iPhone Development”,否则会在下面打包(Archive)步骤报证书错误。

2、编辑“Scheme”,选择菜单:Product -> Edit Scheme,如下图,

 
红色框部分要选对,注意要分别选iOS Device和Release。

3、打包(Archive),选择菜单:Product->Archive,在organizer窗口可以看到你的程序,

 
然后点击“share”按钮,进行发布(share)

4、Share

选第一个“iOS App Store Package”,生成.ipa文件,你的Tester使用itunes即可安装。
如果选择了最后一个,“Archive”,需要对方安装xcode。

来源:http://blog.csdn.net/xiaoxuan415315/article/details/8191109

iOS 程序打包,安装流程的更多相关文章

  1. Ios 程序封装,安装流程

    转:http://www.myexception.cn/operating-system/1436560.html Ios 程序打包,安装流程 一.发布测试,是指将你的程序给   * 你的测试人员,因 ...

  2. C#程序打包安装部署

    今天为大家整理了一些怎样去做程序安装包的具体文档,这些文档并不能确保每个人在做安装包的时候都能正确去生成和运行,但是这些文档的指导作用对于需要的朋友来说还是很有必要的,在实际产品的安装部署过程中可能有 ...

  3. 【转】C#程序打包安装部署之添加注册表项

    今天为大家整理了一些怎样去做程序安装包的具体文档,这些文档并不能确保每个人在做安装包的时候都能正确去生成和运行,但是这些文档的指导作用对于需要的朋友来说还是很有必要的,在实际产品的安装部署过程中可能有 ...

  4. C# windows窗体程序打包安装及卸载

    一.新建安装部署项目

  5. C#程序打包安装部署之添加注册表项(转)

    今天为大家整理了一些怎样去做程序安装包的具体文档,这些文档并不能确保每个人在做安装包的时候都能正确去生成和运行,但是这些文档的指导作用对于需要的朋友来说还是很有必要的,在实际产品的安装部署过程中可能有 ...

  6. iOS程序上传流程 2014年9月最新版

    程序上传步骤: 1.登录账户,点击Manage Your Apps 2.点击Add New App 3.注册Bundle ID,点击蓝色的here 4.进入了注册页面,首先要填写App ID的一个描述 ...

  7. RHEL5.8上SAMBA源码修改打包安装流程

    之前一直使用系统自带的SAMBA,近期需要对SAMBA代码做一些修改,然后还是打算用RPM包的方式来安装部署. 这个流程本身不复杂,在这里记录下来,免得在另外写说明文档. 关键词:RHEL5.8, s ...

  8. DDMS和程序打包过程

    1. Android版本对应api级别 2.3~~~~~10 3.0~~~~~11 4.0~~~~~14 4.1.2~~~16 2.3和4.1.2是最稳定的 2.Android手机常见分辨率 320* ...

  9. 2.QT中使用资源文件,程序打包

     1 程序中使用资源文件 A  一个QT空项目 B  右击项目,添加新文件 添加后的效果是 C  右击main.prc,选择"添加现有项",找到要使用的资源文件.最终的效果是: ...

随机推荐

  1. java 将长度很长的字符串(巨大字符串超过4000字节)插入oracle的clob字段时会报错的解决方案

    直接很长的字符串插入到clob字段中会报字符过长的异常,相信大家都会碰到这种情况 String sql = "insert into table(request_id,table_name, ...

  2. 关于ASP.NET MVC4 Web API简单总结

    原文地址:http://www.cnblogs.com/lei2007/archive/2013/02/01/2888706.html wcf web api 和 asp.net web api , ...

  3. Oracle数据库概述

    Oracle是一种RDBMS(Relational Database Management System 关系型数据库管理系统),是Oracle公司的核心产品. 2009年4月,Oracle并购了Su ...

  4. 自定的 HttpModule 为什么总是执行两次

      其实可以看一下Html页面就知道了.   其实它又请求了一次.要关了这个或者忽略之.

  5. Dubbo架构设计详解-转

    Dubbo架构设计详解  2013-09-03 21:26:59    Yanjun Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解 ...

  6. struts2异常处理及类型转换

    一.struts2对异常的处理 1.自定义局部异常: <action> <exception-mapping result="sonException" exce ...

  7. oracle 自定义异常处理

    --第一种方式:使用raise_application_error抛出自定义异常declare i number:=-1;begin if i=-1 then raise_application_er ...

  8. ajax简单案例:返回json型

    主页: <!--输入代号点击查询查到本代号的人名--> <body> <div> 请输入代号:<input type="text" id= ...

  9. mysql frm的恢复,data里只有frm文件的恢复

    mysql frm的恢复,data里只有frm文件的恢复 mysql frm的恢复,data里只有frm文件的恢复,换了系统,装了windows2003,重装最新5.4版的mysql,把原来的一个数据 ...

  10. discuz!3 二次开发C#学者

    PHP入门,从搞数据库开始: 大致看了以下PHP还是很简单的 比如链接数据库,就这么几行,比asp.net简单的多,就是需要自己搞数据的显示,需要精通HTML和代码生成技术: <?php $co ...