转:http://www.myexception.cn/operating-system/1436560.html

Ios 程序打包,安装流程

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

  * 你的测试人员,因为程序总归是要测试的
  * 你的客户,在正式发布之前,客户肯定是要先看(验收)的
在他们的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。

Ios 程序封装,安装流程的更多相关文章

  1. iOS 程序打包,安装流程

    一.发布测试,是指将你的程序给   * 你的测试人员,因为程序总归是要测试的   * 你的客户,在正式发布之前,客户肯定是要先看(验收)的 在他们的iOS设备(iphone,ipod, ipad)安装 ...

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

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

  3. iOS 最新版 CocoaPods 的安装流程

    iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...

  4. Xcode5 运行程序 提示IOS 模拟器未能安装此应用程序

    更新了Xcode5,结果模拟器各种不配合,首先遇到的问题就是提示“IOS 模拟器未能安装此应用程序” 上网查了一下,网友给出的解决办法“删除~/Library/Application Support/ ...

  5. 从安装Mac OS X虚拟机到第一个IOS程序

    对于纯粹地抄这种行为是比较抵触的,别人已经写得挺好的东西没必要又去写一遍,但如果不写经验来看下次再做时自己又要重复百度筛选一遍,所以还是要记一记. 之前要获取IOS静态库的版本,但一直以来没有Mac没 ...

  6. iOS 程序启动流程

    iOS程序启动原理   技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong   iOS应用程序运行 ...

  7. 【转】漫谈iOS程序的证书和签名机制

    转自:漫谈iOS程序的证书和签名机制 接触iOS开发半年,曾经也被这个主题坑的摸不着头脑,也在淘宝上买过企业证书签名这些服务,有大神都做了一个全自动的发布打包(不过此大神现在不卖企业证书了),甚是羡慕 ...

  8. 漫谈iOS程序的证书和签名机制

    接触iOS开发半年,曾经也被这个主题坑的摸不着头脑,也在淘宝上买过企业证书签名这些服务,有大神都做了一个全自动的发布打包(不过此大神现在不卖企业证书了),甚是羡慕和崇拜.于是,花了一点时间去研究了一下 ...

  9. Cadence Allegro元件封装制作流程

    (本文为转载,原文出处不详) 引言 一个元件封装的制作过程如下图所示.简单来说,首先用户需要制作自己的焊盘库Pads,包括普通焊盘形状Shape Symbol和花焊盘形状Flash Symbol:然后 ...

随机推荐

  1. POJ 1852

    #include <iostream> using namespace std; int main() { //freopen("acm.acm","r&qu ...

  2. 通过Calendar 类获取前一个月的第一天

      SimpleDateFormat time = new SimpleDateFormat("yyyy-MM-dd 00:00:00"); //获取到当前的时间     Cale ...

  3. windows下eclipse远程连接hadoop错误“Exception in thread"main"java.io.IOException: Call to Master.Hadoop/172.20.145.22:9000 failed ”

    在VMware虚拟机下搭建了hadoop集群,ubuntu-12.04,一台master,三台slave.hadoop-0.20.2版本.在 master机器上利用eclipse-3.3连接hadoo ...

  4. Project Euler 99:Largest exponential 最大的幂

    Largest exponential Comparing two numbers written in index form like 211 and 37 is not difficult, as ...

  5. iOS开发--多线程

    前面在<Bison眼中的iOS开发多线程是这样的(二)>一文中讲完了多线程的NSThread,不难发现这种方式的多线程实现起来非常的复杂,为了简化多线程的开发,iOS提供了GCD来实现多线 ...

  6. 对象的类型转换P109

    类作为一种应用数据类型,和基本数据类型的变量一样.不同类中存在对象与对象之间的类型转问题,对象的类型转换只能在  具有继承关系的 父类对象-----子类对象 之间进行   子类通常比父类拥有更多的域和 ...

  7. Photoshop:建议设置

    一.新建文档设置: 二.对齐设置 菜单->视图->对齐->全部 使用图层.形状等操作时自动对齐网格,画矢量图不怕模糊边缘,确保每个像素保持清晰. 三.首选项设置 关掉"启用 ...

  8. Photoshop:制作金属质感-不锈钢纹理

    效果图 过程: 1.滤镜->渲染->云彩 2.滤镜->模糊->高斯模糊 3.滤镜->杂色->添加杂色 ,数量10 4.滤镜->模糊->径向模糊 5.滤镜 ...

  9. 57. Insert Interval

    题目: Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if nec ...

  10. NSDictionary 遍历

           NSDictionary *dic1=[NSDictionary dictionaryWithObjectsAndKeys: @"1",@"a", ...