本篇介绍iOS应用的发布流程;由于苹果的发布周期太长, 再介绍一个很好用的测试网站——蒲公英。

iOS应用程序的发布和真机调试调试很像,也需要申请各类证书。

1、进入https://developer.apple.com苹果开发者网站,点击Provisioning Profiles进入证书界面

2、界面中iOS Apps下面有4个选项 certificates、identifiers、Devices、Provisioning Profiles。要申请开发者证书,这四个选项都要设置,并且是要按照顺序的

(1)设置certificates

  a.点击certificate->production,左上角的“+”号。

  上图中,上面的红框是真机调试时所选;下面的红框是要发布应用时所选,这里我们选择下面的红框;最下面的Apple Push Notification service SSL 是当应用程序中有推送这个功能时需要申请的证书。选择continue,

  b.创建CSR文件;何为CSR文件,见上篇文章中所提及的本地证书的申请。点击continue,并在本地创建好该文件。

  c.生成开发证书;在Upload CSR file中,将b中生成 的CSR文件上传;点击Generate,这样发布证书就生成了;我们将发布证书dowload下来,双击添加到钥匙串中。同时,返回到证书界面就可以看到我们申请的证书了。

(2)设置identifiers和Devices;这两步和真机调试时一模一样,如果没有没有任何改变;这两步可以略过。

(3)创建描述文件Provisioning Profiles;和真机调试一样,发布应用时也需要申请描述文件。其步骤和真机调试的步骤大同小异。

  a.选择Provisioning Profiles下面的Distribution,并点击左上角的“+”号。

  b.选择App Store,点击continue

  c.选择App ID;即选择应用程序的标识,和程序的Boundle ID一样;选择后点击continue

  d.select certificates;这里选择在certificates中,生成的发布证书;如果无法判断是哪一个,便全选。点击continue

  e.后面的步骤太简单,就不在赘述了;到此,开发的描述文件的申请就完毕了。

其实,本文的重点在于项目的打包;本文介绍的是测试包

当一个项目写好后,需要打包给别人测试时的步骤为:

(1)将模拟器换为iOS设备

(2)关于code signing的设置

注意:本文所说的是测试,所以上面的证书和描述文件都要选择,真机调试时的证书和描述文件。

(3)打包;选择product - > archive;完成之后,选择export。

(4)选择第二项

(5)一般这步,都知道怎么选,具体什么说不出。

(6)选择之后,便可给包取名字并Export

  这里问题就来了。为什么本文讲的是发布证书的申请,为什么在最后打包时用得是测试证书。这是因为我在打包进行到第(5)时,出现了以下的错误

  我明明是打的测试的包,为什么蹦出个Distribution,按照网上的说法是发布证书申请满了。管他什么原因。当时我是这样解决的。进入开发者中心

  将发布证书Revoke掉,然后从新创建发布证书,从新生成描述文件(这个描述文件仍然是真机调试的描述文件),当这样做了过后问题就解决了。对于revoke发布证书的问题,不到万不得已一定到慎重行事。注意,当重新创建了发布证书后,尽量不要去改AppID了,因为某些项目中会遇到百度地图的SDK,百度地图和boundle ID是关联的,如果改错了;会让百度地图出现空白,不能显示。

  最后关于如何将打包的文件发给别人测试,推荐个网站——蒲公英,注意这是测试,要把测试人员的UDID包含到Devices中。关于发布的ipa包得上传,现在还没遇到,等遇到了,再更新。

iOS打包及发布的更多相关文章

  1. iOS 打包 测试 发布

    1.企业版 1.1 打包 1.1.1 使用apple企业账号 获取 证书cer,描述文件provision (开发 生产) *注: 描述文件 又 三者组成(cer + appId + bundleId ...

  2. ios外包公司—北京动点软件分享:IOS工程自动打包并发布脚本实现

    前言 IOS的开发过程中,当需要给测试人员发布测试包的时候,直接使用xcode来做的效率是非常低下的.尤其是当有一点小改动需要重新出包时,那简直是个折磨的人的工作.通过一番研究后,遂决定写一系列脚本, ...

  3. hbuilder IOS APP 打包与发布2

    在上一篇的<hbuilder IOS APP 打包与发布>中,请求 的 是APP ids .  ios开发证书 .和开发配置文件  ,   这一篇中就不写发布证书和配置文件的请求,因为流程 ...

  4. iOS自动化探索(九)使用Jenkins自动化打包并发布iOS App

    继前一篇: Mac环境下安装Jenkins Jenkins安装好后, 我们试着创建一个iOS自动打包并发布的任务 iOS App构建必须在MAC上面使用xcode进行,所以我们要安装下xcode集成插 ...

  5. IOS工程自动打包并发布脚本实现

    http://blog.csdn.net/ccf0703/article/details/8588667 文章首发地址:http://webfrogs.me/2013/02/18/ios-automa ...

  6. 打包ios软件并发布到应用商店

    真心感慨程序员是一个神奇的动物. 昨天接到任务,将项目打包并发布到apple商店.于是乎... 利用Hbuilder打包 需要的3个文件: AppId,描述文件profile,以及私钥证书 必须条件: ...

  7. 30天React Native从零到IOS/Android双平台发布总结

    前言 本人有近十年的技术背景,除了APP开发之外对后端.前端等都比较熟悉,近期做一个APP项目需要IOS.Android两个平台都需要,只能硬着头皮上.其实很早就想开发APP也很早就接触Android ...

  8. iOS打包后收不到推送信息

    今天遇到的一个特别神奇的问题: 应用在测试环境下打的包收不到推送了,打包之后都没有推送,但是我真机测试又是可以收到推送消息的.经过好久才找到原因,感觉很坑.这里记录一下问题: 1.由于我的推送第三方使 ...

  9. iOS打包上传问题

    iOS 打包不成功的原因: 1.打包时在下图 code signing没有选择发布证书 2.没有配置好pp文件 3.targets-> general 和 setting设置的签名方式不一样,要 ...

随机推荐

  1. hdu 2037 今年暑假不AC (java)

    问题: 此题为贪心算法入门,思路是先将各个时间段依照结束时间进行排序(按结束越早遍历.节目愈多), 再从第一个节目開始,假设下一节目開始时间大于上一节目的開始时间则进行该节目.依次递推. 输入时,要求 ...

  2. JSF教程(10)——生命周期之Update Model Values Phase

    在整个JSF生命周期中经历了取值.验证的阶段终于从request中拿到合理的值,以下就是在本阶段给相应的服务端对象(ManageBean)赋值了.JSF实现仅仅是去更新和input组件中value属性 ...

  3. ASP.NET MVC 验证

  4. Don't Repeat Yourself (不要重复你自己)

    DRY是指Don't Repeat Yourself特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性.简洁性,并且可能导致代码之间的矛盾.<The Pragmatic Programm ...

  5. Codeforces Beta Round #51 A. Flea travel 水题

    A. Flea travel Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/55/problem ...

  6. Codeforces Round #328 (Div. 2) D. Super M 虚树直径

    D. Super M Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/592/problem/D ...

  7. Android常用代码集合

    这篇文章主要记录一些常用的一些代码段,方便以后查阅,不断更新中. 1:调用浏览器,载入某网址 1 2 3 Uri uri = Uri.parse("http://www.android-st ...

  8. iOS开发——图形编程OC篇&OpenGL ES2.0编程步骤

    OpenGL ES2.0编程步骤 OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机.PDA和游戏主机等嵌入式设备而设 ...

  9. stl 容器

    10.1.2.2容器的分类 序列式容器(Sequence containers) 每个元素都有固定位置--取决于插入时机和地点,和元素值无关. vector.deque.list  关联式容器(Ass ...

  10. 利用 Composer 一步一步构建自己的 PHP 框架(二)——构建路由

    本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 上一篇中我们已经建立了一个空的 Composer 项目 ...