关于苹果APP的上架整理
由于苹果的机制,在非越狱机器上安装应用必须通过官方的App Store,开发者开发好应用后上传App Store,也需要通过审核等环节。AppCan作为一个跨主流平台的一个开发平台,也对ipa包上传App Store作了支持。本文从三个流程来介绍如何实现AppCan在线编译出ipa包,以及上传到苹果App Store。
一、证书的导出
1.1、前期工作
首先你需要有一个苹果的开发者帐号,一个Mac系统。
如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划。支付99美元每年,怎么申请网上有详细的介绍,在此不多做介绍。
如果你已经有了一个IDP,打开http://developer.apple.com/并登录到苹果MemberCenter
,见下:
登录以后可以看到下面这个界面,列出了你开发需要的一些工具,支持,itunes app管理等内容。
第二项:Certificates,Identifiers&Profiles,进入,所有证书相关的都在这里进行。
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,选择App Store;
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获得的发布应用相关资质信息(详情请参考证书的导出),并却确认提交。务必填写正确否则会打包失败的。
上传相关资质信息后,【注意】提交打出的文件包是用来上传到苹果App Store 用的 不能直接安装到手机测试
Q:打包成功后我如何上传到App Store?
A:下载.ipa文件到本地,更改文件后缀.ipa为.zip。(上传请参看ipa包提交苹果App Store)
Q:打包完成后我如何安装到越狱手机上测试?
A:1、下载.ipa文件到本地,更改文件后缀.ipa为.zip并解压缩文件包,
2、新建Payload文件夹,
3、把解压缩.zip包里面的文件夹拷到Payload文件夹里
4、压缩Payload文件夹为.zip文件包,改.zip后缀为.ipa
5、安装到手机
跳过后打出的安装包可以直接安装到越狱手机。
三、Ipa包提交苹果App Store
通过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人员看的东西,不会在App Store里面显示。
下图的页面是一些分级的说明,根据需要选择:
下面是metadata,这个可能很重要,注意那个keywords,设置的越多你的程序被搜到的几率越大,但是最好不超过100字,否则可能会被苹果认为是作弊。Large app icon 这需要一张1024x1024的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的上架整理的更多相关文章
- 分享:苹果APP更新上架被拒的另一种理由(Safety - Objectionable Content)
这两个星期,本来想和大伙分享:写IT连创业系列运营篇. 但时间飞过,仍只是写了开头,一直很忙,没能完往下写. 今天就动手写点其它内容,哈哈,免的和小伙伴太陌生〜〜〜 前几天更新了:IT恋和IT连的版本 ...
- 一种加快在苹果app store中上架的方法
预计近期苹果app应用上架的比較多,审核比較慢,如今一个app从提交到上架短则7.8天.长则2.3个星期.我在实际上线应用时,总结了一个简单有用的小技巧,能够加快上架时间,近期使用这样的方法后.我们基 ...
- IT连创业系列:说说苹果商店AppStore上架App应用前后遇到的那些神坑
前言: IT连创业的这个系列,又隔空了一个多月了. 不知道为什么,最近写文的冲动感下降了很多,如果不是因为特别忙,大概就因为上了年纪的原因了. 群里关注我创业的朋友,一直都在问,啥时候有新的文章讲述创 ...
- iOS之App Store上架被拒Legal - 5.1.5问题
今天在看到App Store 上架过程中,苹果公司反馈的拒绝原因发现了这么一个问题: Legal - 5.1.5 Your app uses background location services ...
- App Store有哪些原因会影响app应用上架呢?(分享)
App Store对于应用上架的审核是非常严格的,很可能一个没有注意到的细节,或者一个你根本没想想到的原因就会导致你的应用上架失败.而排除这些无可避免的错误以外,还有一些导致应用上架失败的原因,非常常 ...
- App开发到App Store上架,发布流程。
http://blog.csdn.net/wojsg001/article/details/12005887 App开发到App Store上架,发布流程. 分类: IOS2013-09-25 11 ...
- APP被苹果App Store拒绝的79个原因【转】
作为iOS开发者,估计有很多都遇到过APP提交到App Store被拒,然后这些被拒的原因多种多样,今天dApps收集了常见的被拒的原因,以便更多开发者了解. APP被苹果APPStore拒绝的各种原 ...
- iOS开发基础:最新的APP打包上架流程
之前有人留言让我更新部分文章,下面就为大家分享一下iOS的APP打包上架流程: 上传至apple developer 1.1 上传准备工作 更新上架和发布上架不同,在原始版本首次上架的时候就将描述文件 ...
- iOS APP提交上架流程
转载自CocoaChina,链接地址:http://www.cocoachina.com/bbs/read.php?tid=330302 后面问题我也遇到了,参考该文章解决的 转自http://blo ...
随机推荐
- ubuntu 14.04 vim YoucompleteMe 代码自动补全工具安装
安装步骤如下: sudo apt-get install vim ; sudo apt-get install vim-youcompleteme ; sudo apt-get install vim ...
- 带你领会 线性代数 微积分的本质 3blue1brown 动画效果帅出天际
前段时间在 哔哩哔哩 上偶然发现了 3blue1brown 精美的动画,配上生动的讲解,非常适合帮助建立数学的形象思维 其中两大系列,非常值得反复观看: 线性代数的本质(Essence of line ...
- LINUX 笔记-top命令
top命令经常用来监控linux的系统状况,比如cpu.内存的使用. top - :: up day, :, users, load average: 0.00, 0.01, 0.00 Tasks: ...
- 博客志第一天——判断一个整数N是否是完全平方数?
关注博客园很久,今天是第一次写博客.先附上一个C题目:写一个函数判断一个整数是否为完全平方数,同时是否该数的各位数至少两个相同的数字 #include <stdio.h> #include ...
- ASP.NET MVC 分页
概述:数据比较多的时候,常使用分页.这里使用bootpag.js和PagedList这两个插件实现. 准备JS的引用 1.这个是bootstrap 中pagination的库 2..NET后台ToPa ...
- JAVA提高九:集合体系
在经过了前面的JDK6.0新特性的学习后,将进一步深入学习JDK,因为集合的重要性,因此从集合开始入手分析: 一.集合概况 Java是一种面向对象语言,如果我们要针对多个对象进行操作,那么首先必要将多 ...
- 机器翻译评测——BLEU算法详解
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/7679284.html 前言 近年来,在自然语言研究领域中, ...
- 《mysql必知必会》读书笔记--安全管理及数据库维护
安全管理 mysql自带的mysql数据库中的user表可查看用户所有资料 创建用户帐号 CREATE USER ben IDENTIFIED BY 'p@$$wOrd' 重命名用户帐号 RENAME ...
- Python中subplots_adjust函数的说明
使用subplots_adjust一般会传入6个参数,我们分别用A,B,C,D,E,F表示.然后我们对图框建立坐标系,将坐标轴原点定在左下角点,并将整个图框归一化,即横纵坐标都是0到1之间.从下图中可 ...
- Treats for the Cows
Treats for the Cows Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64 ...