发布IOS应用程序到苹果APP STORE完整流程

参考:http://blog.csdn.net/mad1989/article/details/8167529(xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核))

http://www.ttlsa.com/dev/how-to-publish-iosapp-to-appstore/ (如何发布IOS应用程序到苹果APP STORE)

开发环境:xcode5.1.1

iphonesdk:7.1

开发机器:iMac

真机部署测试:apple个人开发者ID

向导:

必备IDP证书和distribution证书(第一个证书是真机部署测试时用到的,后者证书是发布时需要用到的,缺一不可)。

http://www.cnblogs.com/JuneWang/p/3798201.html (该链接所指文章实现了消息推送的功能、详细讲解了各个证书的申请,以及使用)

http://www.ttlsa.com/dev/ios-kaifazhe-shenqing-zhengshu/(iOS开发这申请发布证书)

我就说说接下来应该做的流程。在你保证拥有以上两个证书的前提下,距离app提交审核,已经剩下两大步了:1,itunes-connect创建app,填写项目详细信息。2,xcode打包验证通过,提交项目。好的,我就开始说重点了,童鞋们跟着我的流程走,保证不会迷糊和出错。

1.预先准备

在你开始将程序提交到App Store之前,你需要有一个App ID,一个有效的发布证书,以及一个有效的Provisioning profile。下面来看看它们各自的作用。

Step 1: App ID(应用ID)

App ID是识别不同应用程序的唯一标示符。每个app都需要一个App ID或者app标识。目前有两种类型的App标识:一个是精确的App ID(explicit App ID),一个是通配符App ID(wildcard App ID)。使用通配符的App ID可以用来构建和安装多个程序。尽管通配符App ID非常方便,但是一个精确的App ID也是需要的,尤其是当App使用iCloud 或者使用其他iOS功能的时候,比如Game Center、Push Notifications或者IAP。

如果你不确定什么样的App ID适合你的项目,我推荐你读下苹果关于这一主题的文档:Technical Note QA1713

Step 2: Distribution Certificate(发布证书)
iOS应用都有一个安全证书用于验证开发者身份和签名。为了可以向App Store提交app,你需要创建一个iOS provisioning profile 。首先需要创建一个distribution certificate(发布证书),过程类似于创建一个development certificate(开发证书)。如果你已经在实体设备上测试你的App,那么你对创建development certificate就已经很熟悉了。

如果对此不熟悉,我建议你读下苹果关于signing certificates和provisioning profiles的详细指导

Step 3: Provisioning Profile(配置文件)
一旦你创建了App ID和distribution certificate,你可以创建一个iOS provisioning profile以方便在App Store中销售你的App。不过,你不能使用和ad hoc distribution相同的provisioning profile。你需要为App Store分销创建一个单独的provisioning profile,如果你使用通配符App ID,那么你的多个app就可以使用相同的provisioning profile。

Step 4: Build Settings(生成设置)
配置App ID、distribution certificate 和provisioning profile已经完成,是时候配置Xcode中target的build settings了。在Xcode Project  Navigator的targets列表中选择一个target,打开顶部的Build Settings选项,然后更新一下Code Signing来跟之前创建的distribution provisioning profile相匹配。最近添加的provisioning profiles有时候不会立马就在build settings的Code Signing中看到,重启一下Xcode就可以解决这个问题。

配置Target的Build Settings

Step 5: Deployment Target(部署目标)

非常有必要说下deployment target,Xcode中每个target都有一个deployment target,它可以指出app可以运行的最小版本。不过,一旦应用在App Store中生效,再去修改deployment target,你要考虑到一定后果。如果你在更新app的时候提高了deployment target,但是已经购买应用的用户并没有遇到新的deployment target,那么应用就不能在用户的移动设备上运行。如果用户通过iTunes (不是设备)下载了一个更新过的app,然后替代了设备上原先的版本,最后却发现新版本不能在设备上运行,这确实是个问题。

(1) 当你决定提高现有app的deployment target时,要在新版本的版本注释中进行说明。如果你提前告知用户,那么至少有一点,你已经尽力阻止问题的发生了。

(2) 对于一款新app,我经常会把deployment target设置为最近发布的系统版本。因为新iOS版本发布后,渗透率的增长速度是令人难以置信的。很多人认为提高deployment target会失去大部分市场,这个说法并不准确,比如iOS 6,iOS 6发布后一个月,超过60%的设备已经进行了更新。但对Android而言,就是另外一回事了,Android用户并不会像iOS用户那样热衷于更新操作系统版本

【以上简而言之,最好从项目设计时,就决定是否考虑兼容低版本用户,支持的话,写代码时使用ios新特性时最好做一下判断,if是老版本if是新版本】

在最新的WWDC2014上,公布的数字显示,iOS7的市场占有率已经为87%

2. Assets(资源包)

Step 1: Icons(图标)
Icon是App中不可分割的一部分,你要确保icon尺寸不会出现差错。
iTunes Artwork: 1024px x 1024px (required)
iPad/iPad Mini: 72px x 72px and 114px x 114px (required)
iPhone/iPod Touch: 57px x 57px and 114px x 114px (required) 120px x 120px(required) for iPhone5/iPhone5c/iPhone5s
Search Icon: 29px x 29px and 58px x 58px (optional)
Settings Application: 50px x 50px and 100px x 100px (optional)

Step 2: 屏幕截图

屏幕截图的作用不言而喻,你可以为每个app上传5张截图,虽然至少需要上传一张,可能很少有人会只上传一张图片。另外,你还需要分别为iPhone/iPod Touch和iPad/iPad Mini准备不同的屏幕截图。这也是不小的工作量,但却能展示应用的另一面。Shiny Development开发的一款售价6.99美元的Mac软件Status Magic可以为你节省不少时间。Status Magic可以帮你把状态栏放在截图的正确位置。

屏幕截图和icon是应用给用户的第一感觉,直接关系到用户会不会购买。不过,你所上传的屏幕截图也不一定非得是实际的截图,看看Where’s My Water? 截图可以通过使用此策略,更具吸引力和说服力。

当我们连上调试机以后。可以利用Xcode中Organizer中的New Screenshot轻松的截出标准大小的图片。

Step 3: 元数据
在提交应用之前,要管理好app的元数据,包括1应用名称、2版本号、3主要类别,4简洁的描述,5关键词,6.支持URL。如果你需要更新应用,你还要提供新增加的版本内容。

如果你的应用需要注册【打开APP需要登录,比如飞信】,你还得向苹果提供一个测试账户或者demo账户,这样审核人员就能很快进入app,而不用再注册账号。

3. 提交准备

Xcode 4以后,开发者提交应用的过程就简单多了,可以直接使用Xcode进行提交。首先在iTunes Connect中创建app,访问iTunes Connect,使用你的iOS开发者账号登陆,点击右边的“Manage Your Apps”,点击左上角的“Add New App”,选择“iOS App”,然后完成表格。

(注意,创建时填的APP就是你开发的项目,名称和ID一定要相同)。https://itunesconnect.apple.com

点击进入

左上角,添加一个APP,如果你的开发账号之前已经提交过app,下面就会列出来。

第一个页面,选择语言,应用名称,skunumber,bundleID(会让你选择自己创建项目的APPID)。(答疑:在我们进行版本更新的时候名字,描述,新版本描述,关键词,支持URL,截图、联系方式,Review Ntoes)均可以更改

SKU Number是一个用来识别app的特殊字符串。我经常使用app的bundle identifier。最下边是app的Bundle ID,你可以从下来菜单中选择通配符App ID或者准确的App ID。

这个页面是选择app上线的日期(因为apple还需要审核,一般都是推迟几天),售价,以及是否支援教育机构之类的。

以上页面是写版本号,公司名称,软件首类别,次类别(注意两个类别不得重复,否则不会通过),以及评级划分。

以上是软件的内容描述,关键字,技术支持url,以及下面的技术负责人的名字,姓,email,手机号码,这些都很简单,你们都懂的。

----------------------------------------------------------------------------------------------------------------------------------------

接下来是选择APPicon 一张1024X1024的软件图标,让ui做吧,我也不晓得软件的图标为啥要做这么大;

继续上传5张软件的截图,要挑选最重要的图片展示,大小是640x960,xcode上集成了截图功能,则是打开window-organizer视图窗口,点击自己的手机标签页下的screenshot,就可以截图了,尺寸正好,很方便的噢亲。

完事后检查无误,点击提交。

选择是否使用各种加密技术,是否使用第三方的内容,是否有广告等。

----------------------------------------------------------------------------------------------------------------------------------------

好了,走到这一步,基本上算是完成了一个app的创建,这里列举了你的skunumber,bundleID,appleID,随处可见的edit点击进入可以修改刚才提交的信息,看到红色圈住的状态了:prepare for upload 千万不要认为此时工作完成了,还差一步,如果此时你关闭了页面,准备最后一步,你会发现到时会出错的。我就因为这个绕了半天。

点击坐下的view Details进入后的页面回会是此软件的一个详细列表展示了软件的名称,描述,软件截图,技术联系人信息,等。看完无误后,一定要点击右下角(或右上角)的按钮(Ready to Upload Binary),只有点了这个按钮,才会改变当前status的状态为:waiting for upload。

【注意:如果是Ready for upload 状态,在xcode下打包提交应用,会有:No suitable application records were found.
Please make sure that you have set up a record for this application on iTunes Connect.的错误提示。】

此时,如果你的首页status变成了:waiting for upload 那么恭喜你,此步顺利通过,剩下最后了。(注意如上截图,点击continue,完成了网页的所有工作)。

4.xcode上操作:设置证书,build打包,提交项目。

打开xcode,首先确保你配置好了distribution证书,看我如下截图。

确保debug和release都是选中我们申请好的distribution证书。到了次步骤,有的教程说创建一个新的codesigning identity 我也尝试创建了,不过这里不推荐新手创建,因为使用release照样可以打包,创新新的identity认为会让新手更晕菜。(如上截图)

5. 上传二进制文件

  • 接下来打包应用程序(前提,已经申请过发布证书并安装,未申请的请参照本文开头的链接进行操作)

a.打开Xcode,选择Product->Archive (必须采用真机)

b.然后选择distribute…

c.选择第二个

d.选择发布证书

点击next之后便会生成.ipa文件

3.上传.ipa文件,,需要用mac自带的Application Loader

a.在finder中选择应用程序(Applications)->右键选择Xcode->显示包内容->contents->Applications->Application Loader

b.打开Application Loader会出现登录界面,同样用登录开发者中心的账号登录,第一次登录会出现一个接受协议页面,打√后继续就行了

c.进入后选择Deliver Your App,会出现你在developer中心填写的项目,是等待上传状态,选择上传ipa就可以了。

4.上传成功后再回到开发者中心,刷新页面就会发现项目是等待审核状态了,正常审核周期是5个工作日

注意:

在使用Application Loader上传.ipa文件的过程中,遇到了以下问题,

通过修改Valid Architectures 删掉arm64/arm7s,只保留armv7的方式解决该问题:

提醒:

如果你使用了CocoaPods来进行第三方类库管理,你需要把你CocoaPods管理的工程的(Valid Architectures 删掉arm64/arm7s,只保留armv7)

哈哈。第一次发布。碰到了很多问题,得到了不少好友帮助,非常感谢。

也希望本文能对即将发布系统的你起到一些指导、帮助。那我也将会非常开心。

PS。当我们的ipa文件通过application loader上传后,忽然发觉不对。想重新替换上传的话。可以通过以下步骤:

1.https://itunesconnect.apple.com  进入到我们的应用

2.点击view detail

3.进入view detail后,在右上角有

选择Binary Details

4.进入页面以后,点击Reject This Binary就行了

5.重新通过Archive打包,重新通过Application Loader上传

转载请注明出处:http://www.cnblogs.com/JuneWang/p/3836610.html

关于应用更新等等问题

因为还没体验过应用更新,所以一下内容均摘抄自     http://blog.csdn.net/mad1989/article/details/8167529

 

好了,接下来说一下,如何在有IDP证书,开发者账号的情况下,通过正规途径,导出ipa,安装在任意iphone手机中(亲测越狱手机)

当我们在上几步,打包build的时候,观看你项目的Products文件夹下,已经生成了真实的app,不过这个还不是我们真正想要的.ipa文件。(如上截图)选中Product下的app,右键show in Finder,此时打开我们的itunes,拖动软件到itunes下。

此时,我们的软件就拖到了itunes中了,可是发现没有软件图标啊,不用怕,这是很正常的。右键软件,选择在Finder中显示(如上截图)

此时,眼前这个软件,就是我们想要的ipa啦。我亲测安装到越狱后的手机,一点问题都没有(不用担心证书的问题)【注意:越狱手机的版本一定要高于软件的版本要求】

目前还没有测试未越狱的手机,不过我想应该无法安装,因为apple的审查机制是很严格的,必须安装在有描述文件Provision的手机中内(这一点在真机部署测试时就已经体现出来了)

2014年5月30日插播

如果您都看到了这里,我真的佩服您能忍受我如此繁琐的措辞,因为时间原因,写一篇博客并不是很容易,所以有些语言或是排版组织的不是很好,1年过来了,现在我终于理解整个调试以及发布以及多人开发的流程,如果您现在也是朦胧状态,感觉apple的机制好麻烦,或是在多人开发时遇到了:Valid signing identity not found 不妨建议您看我另一篇文章,文章最后介绍了Certificate、App ID、Devices、Provisioning Profiles之间区别和联系,相信您看完后一定会恍然大悟!

Valid signing identity not found解决办法(原有IDP私钥丢失)及Certificate、App ID、Devices、Provisioning Profiles之间区别http://blog.csdn.net/mad1989/article/details/8699147

好了,谢谢各位看到这里,说的有些啰嗦,但是如果你按照此步骤,走完流程,就会悟出其原理。至少不是看到一教程,又看到另一教程,都不一样,干着急。

有什么问题可以给我留言,我看到后会尽量帮助大家解决,一起学习,成长。

赠送传送门一个:http://www.cocoachina.com/special/market.html

20121109

mryang

2013年1月14日最新更新 :新版本提交审核

当我们经过重重关卡,新项目终于在AppStore 上线之后,就会接踵而来遇到维护的问题,那么新版本提交,就没有这么复杂了,如果以上的教程你都理解了,新版本也就那么几个需要注意的地方,听我慢慢道来。

1,首先需要修改代码,就是说,你要有更新的内容,比如功能,比如bug(貌似是废话)

2,当确定一切都ok之后,需要设置项目的version和build号,新版本

Version是显示对外的版本号,(itunesconect和Appstore用户可以看到),而build别人看不到,只有开发者自己才能看到,相当于内部版本号。【更新版本的时候,也要高于之前的build号】

3,登录ituneconnect网站,在项目右侧,点击add new version ,弹出提示输入版本名称和更新内容,完事后点save。

4,在网站上详细审查一下新的版本名称和更新内容,还有是否有需要替换的截图,确定无误后点右上角的ready to binary ,到此网站的设置完毕。接下来就是xcode提交新项目了。【此设置有一个需要注意的提示,如下截图】

让你选择是审核通过后自动更新到应用商店,或是自己手动控制更新,很人性化。

5,Xcode设置 codesign identity 为发布的证书,Divice选则iosDevice ,然后build 然后archive,跟上边第一次发布时一样。

6,打开organizer界面的archive标签页,检查无误后,先验证Validate后Distribute。

等待完毕后,如果没有什么问题,刷新itunescnnet网站吧,你新提交的项目状态变成了:Waiting For Review

 

 

20120114

**********************************打包上传时错误汇总《持续更新》**********************************

上传时出错:Application failed codesign verification.

它是说,你的签名不对,打包发布APP时,一定要使用Release模式,并把证书选择为自己的Distribution发布证书。

关于Validate Built Product设置YES或NO

有时打包遇到错误,网上都说,在Target设置----->build------>Validate Built Product选项去掉或设置为NO就可以了。从网上搜了一下Validate Built Product的含义,大概意思是说开启内置验证,比如apple规定的一些icon大小是57X57,而你的icon尺寸不是这个,就会导致发布失败。

上传时出错:code signing is required for product type Application in SDK iOS 6.1.

这个是说,debug的证书选择错误了,解决办法:

TARGETS --> Build Settings --> Code Signing --> Code Signing Identity设置为 iPhone Developer

这样就ok啦。

上传时警告:cApplication failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. (-19011).

这个警告,网上遇到的人很多,但是众说纷纭,貌似没有一个权威的解决办法,

首先要养成一个查阅官方文档的习惯:https://developer.apple.com/ios/manage/distribution/index.action

要明白真机调试和发布应用的几个步骤,不能连APP还没创建,就直接想用Xcode打包发布啊!还有要明白debug和release的作用和区别。

这个警告,我的理解是:

前提确认Xcode是近期的版本,工程的SDK也至少要是常用的。APPID正确,真机调试证书和Distribution证书都对应于当前Xcode设置。

首先检查你的Project的info是否正确了,还有就是Target设置是否正确..
然后注意不要使用模拟器build,要选择Device,去Edit scheme里查看archive的时候,是不是使用的release!
如果都不行就删除钥匙串里的相关文件,重新去ADP里申请再下载!

20130510

上传时出错:failed to get the task for process 624

This error happens when you have set Distribution Provisioning profile in code signing. Change it to Developer Provisioning Profile, then it will work. Worked for me for Xcode SDK 4.5.

把你的code sign由Distribution改成Developer.就这么简单.

上传时出错:CFbundleVersion

这个错误是说,我们项目info.plist文件中的bundleVersion弄错了,这个属性需要int类型的数值,改成如下图所示就可以了。

20140111

原文地址:http://www.cnblogs.com/JuneWang/p/3836610.html

发布IOS应用程序到苹果APP STORE完整流程,布布扣,bubuko.com

时间: 2024-10-22 10:28:08

发布IOS应用程序到苹果APP STORE完整流程的相关文章

【转】发布iOS应用程序到苹果APP STORE完整流程

原文: http://www.cnblogs.com/JuneWang/p/3850859.html 可以为每个app上传5张截图,虽然至少需要上传一张,可能很少有人会只上传一张图片.另外,你还需要分别为iPhone/iPod Touch和iPad/iPad Mini准备不同的屏幕截图.这也是不小的工作量,但却能展示应用的另一面.Shiny Development开发的一款售价6.99美元的Mac软件Status Magic可以为你节省不少时间.Status Magic可以帮你把状态栏放在截图的

APP发布到应用市场(苹果APP STORE+安卓各大应用市场)

注意事项 1.应用要签名,为了以后能够顺利更新应用,要保持每次的签名一致,所以要妥善保管好签名数据. 2.进行发布测试,最好有个检查表,每次发布的时候进行核查. 苹果APP STORE 一.证书的导出 1.1.前期工作 首先你需要有一个苹果的开发者帐号,一个Mac系统. 如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划.支付99美元每年,怎么申请网上有详细的介绍,在此不多做介绍. 如果你已经有了一个IDP,打开http://developer.

苹果App Store开发者帐户从申请,验证,到发布应用(4)

苹果App Store应用内支付(In-App Purchase) IAP简介 IAP的全称是In-App Purchase,应用内付费.这种业务模式允许用户免费下载试用,对应用内提供的商品选择消费,比如购买游戏道具,购买游戏等级等等.相比完全收费的应用而言,应用内付费给用户试用的机会,不会让优秀的应用因为缺乏用户的认知而丧失消费者:而且对于开发商,也不需要为了让用户试用而单独发布一款免费的精简版本. 下面详细介绍一下应用内支付的详细步骤: 1.点开应用,点击manager in-app pur

苹果App Store开发者帐户从申请,验证,到发布应用(1)

app store为开发者提供四种类型的申请: 个人ios开发者计划$99/年 公司ios开发者计划$99/年 企业ios开发者计划$299/年 高校ios开发者计划免费 在这里主要介绍一下公司ios开发者计划,只有利用个人和公司ios开发者计划证书开发的应用,才能上app store.企业开发者计划主要是为本公司开发软件,并安装到本公司的硬件设备上,不能上app store.下面主要介绍一下公司ios开发者计划的申请. 苹果App Store申请帐号: 1.打开连接:http://develo

怎么找到苹果App Store的应用程序下载链接地址

http://jingyan.baidu.com/article/6dad5075f6fa79a123e36e85.html 怎么找到苹果App Store的应用程序下载链接地址 每个上传到苹果app store的手机应用程序,都会有一个对应的链接地址,下面就以独家网app为例,教大家怎么样才能找到苹果app的url. 工具/原料 iTunes 苹果电脑 方法/步骤 首先打开iTunes   点击iTunes里左上角位置的app的图标   然后在右上角搜索框里输入应用名称   在搜索结果里找到你

苹果App Store开发者帐户从申请,验证,到发布应用(2)

app store付费 上面已经介绍了app store id的注册了,下面在注册基础上,介绍一下app store的付费. 在上面注册成功之后,会收到一封邮件. 1.收到邮件Thank You for Submitting Your Enrollment Dear ****, Thank you for your interest in the iOS Developer Program. Your enrollment request has been received and is bei

苹果App Store审核指南中文翻译(2014.9.1更新)

转:http://www.cocoachina.com/appstore/20140901/9500.html CocoaChina对<苹果应用商店审核指南>中文翻译最近一次更新时间为2014-02-27,文中红色部分是相对于2014-02-27版本的新增内容,蓝色表示苹果相关官方文档的链接 App Store Review Guidelines(英文版) 前言 感谢您付出宝贵的才华与时间来开发iOS应用程程序.从职业与报酬的角度而言,这对于成千上万的开发员来说一直都是一项值得投入的事业,我们

APP被苹果App Store拒绝的79个原因【转】

作为iOS开发者,估计有很多都遇到过APP提交到App Store被拒,然后这些被拒的原因多种多样,今天dApps收集了常见的被拒的原因,以便更多开发者了解. APP被苹果APPStore拒绝的各种原因 1.程序有重大bug,程序不能启动,或者中途退出. 2.绕过苹果的付费渠道,我们之前游戏里的用兑换码兑换金币. 3.游戏里有实物奖励的话,一定要说清楚,奖励由本公司负责,和苹果没有关系. 4.用到苹果的标志.(应用的设计和Apple的Logo风格太像了也会被拒) 5.网络功能不能正常访问. 6.

苹果App Store审核指南–2014最新翻译版----【转载】

苹果App Store审核指南[2014最新翻译版]–是针对2013-03-04最近一次<苹果App Store审核指南>版本的中文版本,文中红色部分是相对于前版本新增的内容,绿色部分是更改的内容. 前言 感谢您付出宝贵的才华与时间来开发iOS应用程程序.从职业与报酬的角度而言,这对于成千上万的开发员来说一直都是一项值得投入的事业,我们希望帮助您加入这个成功的组织.我们发布了<App Store审核指南>(App Store Review Guidelines),希望通过它帮您避开