本篇介绍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. Could not allocate CursorWindow size due to error -12 错误解决方法

    04-29 11:13:54.284 13584-13584/com.uniubi.smartfrontdesk E/art: Throwing OutOfMemoryError "pthr ...

  2. 权限执行[Android开发常见问题-4] RunTime.exec()如何以root权限执行多条指令?

    每日一贴,今天的内容关键字为权限执行 RunTime.exec()这个接口可以说是给我们开发者供给了一个很好的直观操纵底层操纵系统的机遇,但是这个接口的使用还有很多需要注意的问题.由于要完全的分析这个 ...

  3. 硝烟中的scrum和xp学习笔记 - 怎样编写产品backlog

    产品backlog是scrum的核心,也是一切的起源. 从根本上说,它就是一个需求/故事/特性组成的列表,按照重要性的级别排序. 我们叫它story, 或者backlog(条目). Backlog I ...

  4. HDU 5235 Friends (2015 Multi-University Training Contest 2 搜索+剪枝)

    题目链接:pid=5305">传送门 题意: n个人给定m个关系.每一个关系为x,y表示x,y是朋友.可是可能是online friends,也可能是offline friends. ...

  5. 【剑指offer】八皇后问题

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/26614999 剑指offer上解决八皇后问题,没实用传统的递归或非递归回溯法,而是用了非常 ...

  6. yum服务器设置

    转自:http://blog.chinaunix.net/uid-22141042-id-1789605.html 不得不说,RedHat的确很邪恶,如果我们直接用他自带的系统碟做YUM源的话,总是会 ...

  7. debian创建apt-proxy代理

    由于公司网络比较慢.所以需要建立一个代理服务器或镜象站点!考虑到创建和维护镜象的投入比较大!所以选择apt-proxy代理来做!可以缓解公司带宽不足的矛盾.而且只有在代理缓存,没有相应组件的情况下才去 ...

  8. Helpers\Hooks

    Helpers\Hooks Add modules with hooks The hooks helper allows modules to be created within the module ...

  9. IOS应用程序多语言本地化解决方案

    最近要对一款游戏进行多语言本地化,在网上找了一些方案,加上自己的一点点想法整理出一套方案和大家分享! 多语言在应用程序中一般有两种做法:一.程序中提供给用户自己选择的机会:二.根据当前用户当前移动设备 ...

  10. iOS: 属性声明strong和retain竟然不一样

    今天和同事在处理一处用strong声明的Block属性引发的问题时偶然发现的.在诸多教程中都会讲到:声明属性时用strong或者retain效果是一样的(貌似更多开发者更倾向于用strong).不过在 ...