转: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. Unity3D脚本中文系列教程(九)

    Unity3D脚本中文系列教程(八) name 对象名称hideFlags 该物体是否被隐藏,保存在场景中或被用户修改继承的函数 GetInstanceID 返回该物体的实例id继承的类函数 oper ...

  2. ASP .NET 如何在 SQL 查询层面实现分页

    [编者按]本文作者为来自巴基斯坦的软件开发工程师 Aqeeel,主要介绍了在 SQL 查询层面实现 ASP.NET 应用的分页方法. 本文系 OneAPM 工程师编译呈现,以下为正文. GridVie ...

  3. hashtable用法

    import java.util.Hashtable; public class HashTable { public static void main (String[] args) { Hasht ...

  4. POJ 2029 Get Many Persimmon Trees(DP||二维树状数组)

    题目链接 题意 : 给你每个柿子树的位置,给你已知长宽的矩形,让这个矩形包含最多的柿子树.输出数目 思路 :数据不是很大,暴力一下就行,也可以用二维树状数组来做. #include <stdio ...

  5. hdu 1271 整数对

    看了别人的解题报告a了, 大致思路就是 A=a+b*10^k+c*10^(k+1) B=a+c*10^k (在A中取出一位数后) N=A+B=2*a+b*10^k+11*c*10^k 这样就好做了,再 ...

  6. Selenium--cssselector

        CSS(即层叠样式表Cascading Stylesheet) Selector来定位(locate)页面上的元素(Elements).Selenium官网的Document里极力推荐使用CS ...

  7. Linux查看随机启动服务

    Liunx操作系统跟Windos XP一样,有一批系统服务随机而启动:略懂电脑的Windows XP用户会禁止那些不必要的服务,以提高开机速度:如今安装了Ubuntu操作系统,咱们也有必要了解Ubun ...

  8. [2-sat]HDOJ1824 Let's go home

    中问题 题意略 和HDOJ 3062一样 这里 每个队员都有 选 和 不选 两种, 即 上篇所说的$x$和$x’$ 建图:队长(a)留下或者其余两名队员(b.c)同时留下 那么就是$a' \Right ...

  9. HUSTOJ(转发)

    来源:http://blog.csdn.net/xiajian2010/article/details/12954855 缘起 大四了,快毕业了,所以想准备点LAMP的知识和经验.刚好实验室里有人在搞 ...

  10. lintcode 中等题:搜索旋转排序数组II

    题目 搜索旋转排序数组 II 跟进“搜索旋转排序数组”,假如有重复元素又将如何? 是否会影响运行时间复杂度? 如何影响? 为何会影响? 写出一个函数判断给定的目标值是否出现在数组中. 样例 给出[3, ...