由于苹果的机制,在非越狱机器上安装应用必须通过官方的Appstore,

开发者开发好应用后上传Appstore,也需要通过审核等环节。
AppCan作为一个跨主流平台的一个开发平台,也对ipa包上传Appstore作了支持。
本文从三个流程来介绍如何实现AppCan在
线编译出ipa包,以及上传到苹果Appstore。

一、证书的导出

1.1、前期工作

首先你需要有一个苹果的开发者帐号,一个mac系统。

如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者
计划。支付99美元每年,怎么申请网上有详细的介绍,在此不多做介绍。
如果你已经有了一个IDP,打开http://developer.apple.com/并登录到苹果MemberCenter,见下图

登录以后可以看到下面这个界面,列出了你开发需要的一些工具,支持,itunes app管理等内容。

选择第二项:Ios provisioning Portal,进入,所有证书相关的都在这里进行。

1.2、申请appid

在下图的左边选择 App IDs,我们先创建一个AppId,对于要发布到Appstore上的程序,

都有一个唯一的AppId,下面会列出你当前所有的AppId
我们点击右上角的New App ID

其中有两项需要你自己填:
第一个Description,用来描述你的appid,这个随便填,没有什么限制;
第二项Bundle Identifier (App ID Suffix),这是你appid的后缀,这个需要仔细,

因为这个内容和你的程序直接相关,后面很多地方要用到,最好是
 com.yourcompany.yourappname的格式,当然没有公司名的个人开发者,
第二项可以用你自己的英文名字或者拼音,如下图
appcan.cn在线ipa包编译时需要填写的iapp
IDs就是你再此输入的第二项内容

填完后submit,如下图,可以看见我们已经生成的appid:ebook
appid。想要支持推送服务和icould等也可以在这儿配置:

1.3、申请发布证书
1.3.1、先创建一个证书请求文件

这儿需要一个mac系统。以下内容以雪豹系统为例,其他版本差别不是很大。
首先打开应用程序-实用工具-钥匙串访问(KEY CHAIN),在证书助理中,选择"从证书颁发机构求证书",如下图

在下图所示的界面,你的电子邮件地址:填你申请idp的电子邮件地址,常用名称,默认就好,CA空,

选择存贮到磁盘,点击"继续":

选择保存的位置,比如选择桌面

下一步点击完成,你就可以看到你的桌面多了一个CertificateSigningRequest.certSigningRequest的证

书请求文件。

1.3.2、安装WWDR证书

继续登录到你的MEMBER CENTER,选择左边的certificates项,可以看到它右边有四个选项,

我们选择Distribution,
点击下面的click here to download now.

下载完成后,双击安装,安装成功后,可以在你的钥匙串里面的证书下面看到这个中级证书。

1.3.3、请求一个发布证书

OK,现在来请求一个真正的发布证书,还是在这个页面,点击request certificate

这个页面告诉你怎么生成发布证书,点击下面的"选取文件",选择你在第一步创建的证书请求文件,

然后点击"submit"

OK。现在你有一个证书可以下载了,如下图(不能下载请刷新页面)

1.3.4、安装和导出

点击"download"下载你生成的证书,下载完成后双击安装,如果有如下提示,选择login,OK

这时再查看你的钥匙串,应该有下面这一行Iphone Distribution的证书,注意,这个证书有一个小三角可以点击,

展开后有一个对应的密钥。如果你没有这个钥匙,那么请检查上面那一步做错了。

现在发布证书已经安装了,我们选择这个证书,右击,选择,导出"xxxxxxx",如下图

给你要导出的证书起个名字,选择一个存的位置,注意,保存成P12的信息交换文件

输入密码,如果mac系统有密码,后面还会要求你输入系统密码。

现在你就有了发布程序需要的p12文件。
appcan.cn在线ipa包编译时需要上传的distribution.p12就是你导出的发布证书;

certificate
password就是导出证书时填写的密码。

1.4、生成provisioning文件

在下图左边选择provisioning选项,同样的右边的子项中选择distribution,来生成一个发布的准备文件

选择new profile,在下图中,第一个method,选择appstore;
Profile name,这个随便填,下面的App ID,选择我们开始的时候创建的appid,这个必须一致。确认后提交。

等待几秒钟,provisioning就可以下载了,点击download,下载。我们得到了一个xxxxxx.mobileprovision

appcan.cn在线ipa包编译时需要上传的distribution.mobileprovision就是你生成的文件

现在,我们的证书的准备工作就做完 了,我们有了一个appid,一个p12格式的证书文件,一个provisioning文件。

二、Appcan.cn在线ipa包编译

根据流程一制作的证书及p12文件,开发者就能够对应于进行混编,从而生成出可上传Appstore的ipa包,其流程如下:

AppCan在线的打包方式(非IDE打包方式),用户生成应用时需要选择生成ios平台,勾选后弹出下图窗口,

需要填写上传Apple开发者在Apple获得的发布应用相关资质信息(详情请参考证书的导出),并却确认提交。

务必填写正确否则会打包失败的。
上传相关资质信息后,【注意】提交打出的文件包是用来上传到苹果Appstore 用的 不能直接安装到手机测试
Q:打包成功后我如何上传到Appstore
A:下载.ipa文件到本地,更改文件后缀.ipa为.zip。(上传请参看ipa包提交苹果Appstore

Q:打包完成后我如何安装到越狱手机上测试?
A:1、下载.ipa文件到本地,更改文件后缀.ipa为.zip并解压缩文件包,
2、新建Payload文件夹,
3、把解压缩.zip包里面的文件夹拷到Payload文件夹里
4、压缩Payload文件夹为.zip文件包,改.zip后缀为.ipa
5、安装到手机
跳过后打出的安装包可以直接安装到越狱手机

三、Ipa包提交苹果Appstore

通过AppCan在线与开发者证书混编后,生成的ipa包(后缀.ipa改为.zip)即可上传至苹果Appstore,以下是操作流程

3.1、在itunes中创建程序

该部分内容继续以雪豹系统为例

打开https://itunesconnect.apple.com/(membercenter中也可以找到)选择"Manage
Your Applications"

点击"Add
New App"。

填写下面的表格。
默认语言,
appname,
SKU Number,这是自己程序的标识,点击后面的"?"有说明
Bundle id:这个可以选择,必须和你申请证书时候的appid保持一致。否则会上传失败。

填完后,点击"Continue"
这个页面设置程序的生效时间和价格,选择后,点击"Continue"

下图的页面需要填一些程序的信息,注意"Review Notes (optional)"这个选项是对苹

果review程序的说明,如果你的程序需要登录
才可以使用,要在这里提供用户名和密码,如果你的程序的一些特色很隐晦,可以在这里提供操作步骤,
这是让apple的review人员看的东西,不会在appstore里面显示。

下图的页面是一些分级的说明,根据需要选择

下面是metadata,这个可能很重要,注意那个keywords,设置的越多你的程序被搜到

的几率越大。Large app icon 
这需要一张512x512的icon。screenshots是屏幕截图或者说明性的图片。

填完后done,这样就创建好了一个app,点击"view
detail",然后选择 “Ready
to Upload Binary”。这时发

现你的app显
示一个黄色的wait for upload,表示你可以上传你的二进制代码了.如下图

3.2、上传程序

上传程序请在你的mac系统下找到application
uploader工具,找不到的可以在下图这儿下载。Xcode4.x将该工

具集成到了xcode里面。

在mac下安装了该工具后,运行,如果是第一次,可能需要你用你自己的idp帐号登录(以后会保存在钥匙串中),

登录后会自动检查你有没有等待上传状态的app,选择你创建好的app,如下图

点击"Next"按钮

点击"choose"按钮,选择你从Appcan在线编译出来的ipa包,修改.ipa后缀为.zip,请不要打开修改包里面的内容

(包括添加和删除资源图片等文件),否则会上传失败。

点击"Send"按钮,等待上传,上传完成后,打开itunesconnect,这时候你的程序状态变为"upload
received",

程序进入苹果第一步审核。第一步审核几分钟到几小时。当通过第一步审核后,程序状态变为"wait for review",
此时程序进入等待人工审核的状态,大概4天到2周的时间都是这个状态,直到排队轮到你的程序时,
程序进入"in review"状态,
如果你的程序没有内容上的问题,符合苹果的审核标准,那么审核成功,你程序的状态变为绿色的" Ready for Sale",
如果审核失败,程序状态变为红色的" Rejected "
上传过程中每一步的失败苹果都会发邮件给你,或者你能在Resolution
Center详细的失败信息。
当你的程序变为"ready for sale"状态时候,你就可以在appstore里面找到它了。至此,上传结束。
你就可以通过IOS设备在Appstore中找到你的应用了。

App打包上架流程(iOS转)的更多相关文章

  1. iOS开发基础:最新的APP打包上架流程

    之前有人留言让我更新部分文章,下面就为大家分享一下iOS的APP打包上架流程: 上传至apple developer 1.1 上传准备工作 更新上架和发布上架不同,在原始版本首次上架的时候就将描述文件 ...

  2. iOS APP提交上架流程

    转载自CocoaChina,链接地址:http://www.cocoachina.com/bbs/read.php?tid=330302 后面问题我也遇到了,参考该文章解决的 转自http://blo ...

  3. iOS App打包上架的流程

    一.申请苹果开发者账号 首先需要申请苹果开发者账号才能在APP store 里发布应用. 开发者账号分为:(1)个人开发者账号   (2)企业开发者账号   主要的区别是:点击打开链接 1.个人开发者 ...

  4. iOS App打包上架超详细流程

    https://www.jianshu.com/p/817686897ec1?open_source=weibo_search

  5. iOS 最新App提交上架流程及部分问题的解决方案2016.12.21,感谢原博主!!!

    内容摘自http://www.cocoachina.com/bbs/3g/read.php?tid=330302,原博特别详细,下面我对部分地方进行了修改,主要是对在打包验证和上传的时候遇到的问题进行 ...

  6. iOS开发之app打包发布流程

    一.准备工作 苹果开发者中心 1.申请苹果开发者账号 首先需要申请苹果开发者账号才能在APP store 里发布应用. 开发者账号分类:(1)个人开发者账号 (2)企业开发者账号 主要的区别是:点击这 ...

  7. app store 上架流程

    前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发者中心:https://developer.apple.com 打开后点击 ...

  8. app上架流程的整理

    app的上架流程 一.准备工作 首先需要有开发者账号,企业级的账号是299$,个人开发者账号是99$,没有的话可以登录http://developer.apple.com/自行申请 假如你已经有账号了 ...

  9. APP Store上架QA&注意事项

    一. App Store上架费用,要多少钱. 这个因产品而异,一般是6000-10000元人民币. 二. App Store上架周期,要多久过. 这个因产品而异,正常的话一周内,如果产品老是出问题,被 ...

随机推荐

  1. [POI2018]Prawnicy

    题目大意: 有$n(n\le10^6)$个线段,每个线段覆盖的范围是$[l_i,r_i]$,要求从中选取$k(k\le10^6)$个线段使得这些线段覆盖范围的交集最大,求最大交集及任意一种方案. 思路 ...

  2. 金融应用,计算未来投资回报值 Exercise06_07

    import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:金融应用,计算未来投资回报值 * */ public class Exer ...

  3. Scala实战高手****第15课:Scala类型参数编程实战及Spark源码鉴赏

    1.Scala的类和方法.函数都可以是泛型 2.上界:表示泛型的类型必须是某种类型或者其类型的子类,语法:<: ,对类型进行限定 3.下界:表示泛型的类型必须是某种类型或者其类型的父类,语法:& ...

  4. 移植Linux2.6.38到Tiny6410_1GNandflash

    首先说一下为什么要下决心移植Linux内核,本来移植完Uboot后我想先把韦东山第二期的驱动教程看完后在试图移植内核,可是当我跟着教程写好LCD的驱动后,去设置编译友善的内核来测试程序时,我稍微改一点 ...

  5. Ubuntu 16.04通过APT源安装QUEM虚拟机调试Linux内核

    安装: sudo apt-add-repository main sudo apt-get update sudo apt-get install qemu-kvm qemu virt-manager ...

  6. Android Studio NDK 新手教程(5)--Java对象的传递与改动

    概述 本文主要Java与C++之间的对象传递与取值.包括传递Java对象.返回Java对象.改动Java对象.以及性能对照. 通过JNIEnv完毕数据转换 Java对象是存在于JVM虚拟机中的,而C+ ...

  7. Git服务器分类

    目录(?)[-] 服务器上的 Git 协议 本地协议 优点 缺点 SSH 协议 优点 缺点 Git 协议 优点 缺点 HTTPS 协议 优点 缺点 在服务器部署 Git 将纯目录转移到服务器 小型安装 ...

  8. Spark集群数据处理速度慢(数据本地化问题)

    SparkStreaming拉取Kafka中数据,处理后入库.整个流程速度很慢,除去代码中可优化的部分,也在spark集群中找原因. 发现: 集群在处理数据时存在移动数据与移动计算的区别,也有些其他叫 ...

  9. Alfresco 5.0.d 企业文档管理系统

    Thanks for downloading Alfresco Community Edition. Your download should begin in three seconds. If i ...

  10. hibernate学习系列-----(9)hibernate对集合属性的操作之Map集合篇

    照旧,先新建一个StudentMap.java实体类,将hobby属性使用map集合接口来存放: package com.joe.entity; import java.util.Map; publi ...