iOS打包及发布
本篇介绍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打包及发布的更多相关文章
- iOS 打包 测试 发布
1.企业版 1.1 打包 1.1.1 使用apple企业账号 获取 证书cer,描述文件provision (开发 生产) *注: 描述文件 又 三者组成(cer + appId + bundleId ...
- ios外包公司—北京动点软件分享:IOS工程自动打包并发布脚本实现
前言 IOS的开发过程中,当需要给测试人员发布测试包的时候,直接使用xcode来做的效率是非常低下的.尤其是当有一点小改动需要重新出包时,那简直是个折磨的人的工作.通过一番研究后,遂决定写一系列脚本, ...
- hbuilder IOS APP 打包与发布2
在上一篇的<hbuilder IOS APP 打包与发布>中,请求 的 是APP ids . ios开发证书 .和开发配置文件 , 这一篇中就不写发布证书和配置文件的请求,因为流程 ...
- iOS自动化探索(九)使用Jenkins自动化打包并发布iOS App
继前一篇: Mac环境下安装Jenkins Jenkins安装好后, 我们试着创建一个iOS自动打包并发布的任务 iOS App构建必须在MAC上面使用xcode进行,所以我们要安装下xcode集成插 ...
- IOS工程自动打包并发布脚本实现
http://blog.csdn.net/ccf0703/article/details/8588667 文章首发地址:http://webfrogs.me/2013/02/18/ios-automa ...
- 打包ios软件并发布到应用商店
真心感慨程序员是一个神奇的动物. 昨天接到任务,将项目打包并发布到apple商店.于是乎... 利用Hbuilder打包 需要的3个文件: AppId,描述文件profile,以及私钥证书 必须条件: ...
- 30天React Native从零到IOS/Android双平台发布总结
前言 本人有近十年的技术背景,除了APP开发之外对后端.前端等都比较熟悉,近期做一个APP项目需要IOS.Android两个平台都需要,只能硬着头皮上.其实很早就想开发APP也很早就接触Android ...
- iOS打包后收不到推送信息
今天遇到的一个特别神奇的问题: 应用在测试环境下打的包收不到推送了,打包之后都没有推送,但是我真机测试又是可以收到推送消息的.经过好久才找到原因,感觉很坑.这里记录一下问题: 1.由于我的推送第三方使 ...
- iOS打包上传问题
iOS 打包不成功的原因: 1.打包时在下图 code signing没有选择发布证书 2.没有配置好pp文件 3.targets-> general 和 setting设置的签名方式不一样,要 ...
随机推荐
- 教你50招提升ASP.NET性能(十九):静态集合
(30)Static collections 招数30: 静态集合 If a collection is static, make sure it only contains the objects ...
- 标准C++ 字符串处理增强函数
转自:http://dewei.iteye.com/blog/1566734 //标准C++ string 去除首尾空白字符 2012-8-12 By Dewei static inline void ...
- iOS 判断只有数字、小数点和减号
#define NUMBERS @"0123456789.-" //数字 #define NUM @"0123456789" //字母 #define ALPH ...
- [Angular 2] Directive intro and exportAs
First, What is directive, what is the difference between component and directive. For my understandi ...
- ant脚本打jar包 自动获取时间以及项目svn版本号
1.关键代码,获取时间 <tstamp> <format property="touch.time" pattern="yyyy/MM/dd hh:mm ...
- windows下安装swoole。
服务器是用了Linux环境,所以安装swoole的过程只要看看文档就好了. 由于编写代码环境是在windows上,需要在windows上安装swoole.以便测试. 好了废话不多说,我们看官网文档解决 ...
- [转]How to convert IP address to country name
本文转自:http://www.codeproject.com/Articles/28363/How-to-convert-IP-address-to-country-name Download ...
- Java操作字符串的工具类
操作字符串的工具类 import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.PrintStre ...
- Guava: 事件总线EventBus
EventBus 直译过来就是事件总线,它使用发布订阅模式支持组件之间的通信,不需要显式地注册回调,比观察者模式更灵活,可用于替换Java中传统的事件监听模式,EventBus的作用就是解耦,它不是通 ...
- centos 安装 acrobat Reader之后
IV: 为Firefox等浏览器安装Acrobat Reader插件:sudo /usr/local/Adobe/Acrobat7.0/Browser/install_browser_plugin按照 ...