本篇介绍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. EcShop之路-Smarty

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  2. PostgreSQL的 initdb 源代码分析之七

    继续分析:由于我使用initdb的时候,没有指定 locale,所以会使用OS的缺省locale,这里是 en_US.UTF-8 printf(_("The files belonging ...

  3. 【Android应用开发】 OpenGL ES -- 透视投影 和 正交投影

    博客地址 : http://blog.csdn.net/shulianghan/article/details/46680803 源代码下载 : http://download.csdn.net/de ...

  4. 如何用boost::serialization去序列化派生模板类(续)

    在 如何用boost::serialization去序列化派生模板类这篇文章中,介绍了序列化派生类模板类, 在写測试用例时一直出现编译错误,调了非常久也没跳出来,今天偶然试了一下...竟然调了出来. ...

  5. 在WCF中不使用svc文件直接使用cs文件

    在 配置中有个节点可以实现 此功能 <serviceHostingEnvironment multipleSiteBindingsEnabled="true" > &l ...

  6. 根据字符串创建FTP本地目录 并按照日期建立子目录返回路径

    /** * 根据字符串创建FTP本地目录 并按照日期建立子目录返回 * @param path * @return */ private String getFolder(String path) { ...

  7. git 提交远程

    一.从远程克隆项目,修改后提交 1.先切换要放项目的本地目录 C:\Users\chendd>cd E:\web C:\Users\chendd>e: 2.根据服务器的git地址克隆到本地 ...

  8. c++中的强制转换static_cast、dynamic_cast、reinterpret_cast的不同用法儿

    c++中的强制转换static_cast.dynamic_cast.reinterpret_cast的不同用法儿   虽然const_cast是用来去除变量的const限定,但是static_cast ...

  9. 一个坐标点围绕任意中心点旋转--C#实现

    假设对图片上任意点(x,y),绕一个坐标点(rx0,ry0)逆时针旋转RotaryAngle角度后的新的坐标设为(x', y'),有公式: x'= (x - rx0)*cos(RotaryAngle) ...

  10. Sorting It All Out

    Description An ascending sorted sequence of distinct values is one in which some form of a less-than ...