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设置的签名方式不一样,要 ...
随机推荐
- github 坑爹的仓库初始化设置
一段时间没有使用 github,奇妙地发现自己连仓库都不会建了,汗一个... 话说上次我在 github 上面建了一个仓库,在创建仓库的设置表单中勾上了自动生成 README.md 选项, ok,创建 ...
- 理解Windows中的路由表和默认网关
每一个Windows系统中都具有IP路由表,它存储了本地计算机可以到达的网络目的地址范围和如何到达的路由信息.路由表是TCP/IP通信的基础,本地计算机上的任何TCP/IP通信都受到路由表的控制. 理 ...
- Ribbon 窗体的 MDI 子窗体使用 TabbedMDIManager 切换时工具条闪屏问题的解决办法
补充说明: 此问题已经在新版本中解决(15.2.6),方法更加简单,只需要在 MDIChild 窗体的 Create 方法中,将 Ribbon 的 Visible 属性设置为 false 就可以了,且 ...
- DynamoDB Local for Desktop Development
Would you like to be able to write and test code that uses the Amazon DynamoDB API even if you have ...
- C#.NET开发ActiveX控件
最近刚开发了个activeX控件,下面是我的一些简单总结. 1. 先创建一个类库项目,在AssemblyInfo.cs设置 [assembly: ComVisible(true)] ,意思是使此程序集 ...
- Java中Scanner的使用方法
Scanner是SDK1.5新增的一个类,但是使用该类创建一个对象.Scanner reader=new Scanner(System.in); 然后reader对象调用下列方法(函数),读取用户 ...
- 框架使用的技术主要是SpringMVC 在此基础上进行扩展
框架使用的技术主要是SpringMVC 在此基础上进行扩展 1 Web前端使用 2 前段控制器采用SpringMVC零配置 3 IOC容器Spring 4 ORM使用 Mybites或者hiberna ...
- SiteMesh学习笔记
SiteMesh是一个轻量级的web应用框架,实现了Decorator模式.它的目标是将多个页面都将引用的jsp页面通过配置加载到相应的jsp文件中. 在我们的项目中,每个jsp都需要添加两个top和 ...
- ZOJ1109_Language of FatMouse(STL/map)
解题报告 题意: 略. 思路: map应用. #include <algorithm> #include <iostream> #include <cstring> ...
- Ruby on Rails Tutorial 第六章 用户模型
1.用户模型(1)数据库迁移Rails默认使用关系数据库存储数据,数据库中的表有数据行组成,每一行都有相应的列,对应数据属性.把列名命名为相应的名字后,ActiveRecord会自动把他们识别为用户对 ...