转: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. Openstack Grizzily 单节点测试机安装( All In One CentOS/RHEL)

    Openstack Grizzily版本已经相当完善,根据官方文档安装基本不存在什么问题,但是想快速测试了解Openstack功能的用户非常多,devstack的安 装需要check最新的代码,时常碰 ...

  2. abs(INT_MAX-(-1))

    写一个程序,结果总是不对,check逻辑好几遍也没发现错误,无奈之下debug.发现一个有趣的现象abs(INT_MAX-(-1))返回值是-2147483648.于是看了下abs函数的代码实现. i ...

  3. java基础知识回顾之java Thread类学习(八)--java多线程通信等待唤醒机制经典应用(生产者消费者)

     *java多线程--等待唤醒机制:经典的体现"生产者和消费者模型 *对于此模型,应该明确以下几点: *1.生产者仅仅在仓库未满的时候生产,仓库满了则停止生产. *2.消费者仅仅在有产品的时 ...

  4. SDUT1591交叉排序

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=1591&cid=1187 #include<cstdio> #include& ...

  5. Pycharm中的实用功能(网上看到的,感觉还不错)

    实时比较 PyCharm 对一个文件里你做的改动保持实时的跟踪,通过在编辑器的左侧栏显示一个蓝色的标记.这一点非常方便,我之前一直是在Eclipse里面用命令“Compare against HEAD ...

  6. 李洪强iOS开发之最全App上架流程

    在上架App之前想要 真机测试的同学 请查看 iOS- 最全的真机测试教程 里面包含怎么让多台电脑同时 上架App和同时真机调试.P12文件的使用详解 准备 开发者账号 完工的项目 上架步骤 一.创建 ...

  7. lintcode:Singleton 单例

    题目: 单例 单例是最为最常见的设计模式之一.对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例.例如,对于 class Mouse (不是动物的mouse哦),我们 ...

  8. 【nginx运维基础(2)】Nginx的配置文件说明及虚拟主机配置示例

    配置文件说明 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为当前主机的CPU总核心数. worker_processes 8; #全局错误日志定义类型, ...

  9. linux 线程的内核栈是独立的还是共享父进程的?

    需要考证 考证结果: 其内核栈是独立的 206 static struct task_struct *dup_task_struct(struct task_struct *orig) 207 { 2 ...

  10. Linux 2.4.x内核软中断机制

    http://www.ibm.com/developerworks/cn/linux/kernel/interrupt/ 软中断概况 软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执 ...