iOS App上架流程(2016详细版)

作者: 该简书已经停止更新 | 来源:发表于2016-03-15 19:49 被阅读157245次

    一、前言:

    作为一名iOSer,把开发出来的App上传到App Store是必要的。下面就来详细讲解一下具体流程步骤。

    二、准备:

    1. 一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99$99$299免费。)。
    2. 一个已经开发完成的项目。

    三、检查:

    1. 你的Xcode必须是正式版的,beta版本的Xcode是不能上传项目的。
    2. 上传使用的MacOS X系统必须也是正式版的,beta版本也不行。
    3. 请确认你安装的Xcode是从App Store或者是开发者网站下载的,而不是从其它渠道获取的安装包安装的,因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?
    检查方法

    四、生成发布证书

    1. 打开苹果开发者中心:https://developer.apple.com,点击:Account

      苹果开发者中心
      下面输入已付款过的Apple账号和密码登录(如果你的电脑已经保存了密码,会直接进入)
      开发者登录账号
    2. 点击:Certificates,Identifiers & Profiles (专门生成证书,绑定Bundle Id,绑定device设备,生成描述文件的地方)

      Member Center
    3. 点击Certificates生成证书

      1. 选择iOS, tvOS, watchOS
      2. 选择All
      3. 点击右上角新添加证书
      添加新证书1
    4. 由于是做App上传,选择生产证书(选择App Store and Ad Hoc

    选择App Store and Ad Hoc

    注意:一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了。

    解决方法:
    1. 从共同使用这个账号的人电脑上生成.p12文件,导入自己的电脑。(尽量不要执行下面第2步)
    2. 如果你想生成的话,把现有的删除一个(建议删除时间比较靠前的)。
    注意:如果删除一个证书,那么正在使用这个证书的人将不能再使用了,除非重新生成,然后利用.p12重新导入自己的电脑里!
    如果你想删除证书,执行下面步骤,否则略过。

    删除证书

    然后接上上图,生产证书部分继续

    生成证书2 生成证书3 生成证书4
    1. 上传CSR文件去获取证书(CSR文件需要我们到本机钥匙串里去创建)

      1. Launchpad其他里面,点击钥匙串访问弹出如下界面

        其他 钥匙串访问
      2. 工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...

        请求证书
      证书信息
      1. CSR文件保存到MAC磁盘的某个位置(这里我选择的是桌面,进行存储)
      存储证书 点击完成 CertificateSigningRequest.certSigningRequest 文件
    2. 然后回到浏览器,点击Choose File...

    选择CSR文件
    1. 选择创建好的:CertificateSigningRequest.certSigningRequest文件,点击选取
    选取CSR文件

    点击Generate上传证书

    上传CSR证书
    1. 跳转到如下界面,点击 DownLoad 下载生成的证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。
    下载生成的证书 cer后缀的文件

    注意:这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
    如果不需要给别的电脑使用,则直接跳过下面附加项,跳转到第五步(绑定Bundle Identifier

    附加项:生成 p12文件在其他电脑上使用这个发布证书

    1. 双击安装证书后,打开钥匙串访问,选择安装的证书右键单击

      安装的发布证书

    注意:如果没有导出,可以把这个证书删除,然后重新双击下载的证书文件安装。

    1. 导出证书


      导出证书
    2. 存储证书

      存储导出的证书

      注意:存储的文件格式一定要是.p12

    3. 设置密码
      可以为证书设置密码,也可以不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。这里就不设置密码了。


      设置密码
    4. 保存导出的证书

      p12发布证书

      如果需要在其它电脑上也能发布App,那么就必须要安装这个发布证书。

    五、创建App IDs和绑定你的AppBundle Identifier

    回到刚才的页面:https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action

    1. 点击App IDs,进入如下界面,点击右上角的 +
    点击App IDs
    1. 填写App IDsBundle Identifier
    填写App IDs和Bundle Identifier

    注意:
    1. 上传App使用的Bundle Identifier(不要有-,都是英文+数字)必须是固定的,不能使用占位符。
    2. 如果你的Bundle Identifier已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier的话,需要重新进入到开发者账号里面绑定。

    修改工程的Bundle Identifier

    下面选择App中包含的服务,默认有两项,其余的根据自己项目的需求进行选择

    App Services
    1. 点击Continue

      点击continue
    2. 点击Register

      点击Register
    3. 点击Done

      点击Done

    六、生成描述文件(描述文件的作用就是把证书和Bundle Identifier关联起来)

    1. 找到Provisioning Profiles ,点击All,然后点击右上角+

      Provisioning Profiles
    2. 因为是发布,所以选择下面App Store这个描述文件,点击Continue

      选择App Store
    3. 在App ID 这个选项栏里面找到你刚刚创建的:App IDsBundle Identifier) 类型的套装,点击Continue

      选择发布项目的Bundle Identifier
    4. 选择你刚创建的发布证书(或者生成p12文件的那个发布证书),根据自己电脑上的发布证书日期来选择,点击Continue


      选择创建的发布证书
    5. Profile Name栏里输入一个名字(这个是Provisioning Profiles文件的名字,可随便输入,在这里我用工程名字,便于分别),然后点击Generate

      给描述文件起个名字
    6. Download生成的PP文件,然后点击Done,双击安装(闪一下就完事了,没其它效果)

      Download生成的PP文件
      生成的描述文件

    六、在App Store开辟空间

    1. 回到Member Center,点击iTunes Connect

      点击iTunes Connect
    2. 登录开发者账号(还是之前已付费的账号)


      Snip20160315_68.png
    3. 登录成功后,点击我的App

      点击我的App
    4. 点击左上角那个号,点击新建(注意:我们是iOS App开发,不要选Mac App啦)

      新建 App
    5. 依次按提示填入对应信息(SKU是公司用于做统计数据之类的id,根据公司需求填写),然后点击创建

      填写App信息
      注意:如果都填好以后,可能会告诉你,你的App名称已经被占用,那么不好意思,你只能改名了!(而且建议大家起名不要往比较出名的App上靠,否则审核可能会被拒绝)
    6. 填写App其它信息

      App信息
    7. 填写价格和销售范围(由于我的开发者账号没有签订纳税合同,所以不能上线收费应用,所以只能暂时免费)


      填写价格和销售范围
    8. 依次把不同尺寸的App截图拉入到对应的里面
      需要填写不同尺寸的手机屏幕截图(也就是拿不同尺寸的模拟器运行后,挑出至少3页最多5页进行截图然后拖到响应的区里)(在模拟器Command+S 就可以保存屏幕截图到桌面了)(注意:如果提示拖进去的图片尺寸不对,则把模拟器弄成100%然后再Command+S) 尺寸参照表在下面

      设置不同尺寸的App截图
      尺寸参照图
      尺寸参照图
    9. 填写App简介

      填写App简介
    10. 按提示依次输入

      按提示依次输入
      错误提示:如果上传App图标失败,提示Alpha错误的话,看下面。
      打开你的图标图片,勾掉这个
      勾掉这个
    11. 点击分级后面的编辑,如实填写后,点击完成


      分级信息
    12. 填写审核信息

      填写审核信息
      版本发布就是:(然后最下面选择自动发布的话就是如果审核通过,就自动上传到App Store供人下载)
    13. 此时这个构建版本还没有生成,我们先把基本信息填写完毕,然后再进入Xcode中把项目打包发送到过来。
      注意:填写完一定要点击右上角的保存。

    七、在Xcode中打包工程

    找到你刚刚下载的发布证书(后缀为.cer)或者p12文件,和Provisioning Profiles文件,双击,看起来没反应,但是他们已经加入到你的钥匙串中。

    1. Xcode中选择iOS Device(这里不能选择模拟器),按照下图提示操作

      选择iOS Device
    2. 如果你的应用不支持横屏,把这两个勾去掉


      如果你的应用不支持横屏,把这两个勾去掉
    3. 查看版本号和构建版本号


      查看版本号和构建版本号
    4. 配置发布证书(ps:截图时选择的证书是错误的,大家注意一下,要选择发布证书)

      配置发布证书
      注意:如果这里没有黄色叹号,代表你的配置没问题,如果有,那就是证书和描述文件不匹配,或者描述文件里刚才选的Bundle和现在的工程的Bundle Identifier不一致,去https://develop.apple.com 上找到你的描述文件在确认下绑定的Bundle Identifier和你工程是不是一样的?
      检查
    5. 断点全局断点僵尸模式等都要去掉。

      去掉断点、全局断点
    Snip20160315_36.png Snip20160315_37.png 去掉僵尸模式

    6.设置Release模式(Debug是测试的,Release是发布用的)

    Snip20160315_39.png Snip20160315_40.png Snip20160315_41.png Snip20160315_42.png

    7.选择 XcodeProductArchive(专门用于传项目,或者打包项目)

    选择Archive Snip20160315_45.png Snip20160315_46.png

    8.出现下图说明你没有添加开发者账号,点击右下脚Add... 按钮就可以添加

    没有添加开发者账号

    9.输入付费的开发者账号

    输入开发者账号
    可能会弹出下面这个界面,如果不弹出,按Command加。

    10.然后回到Archive(选择已付费的账号),然后点击Choose

    选择已付费的账号
    然后等待
    等待

    11.选择Upload提交

    Upload提交

    12.如下就代表上传成功,如果出错,请参照iOS App上传项目遇到的问题

    上传成功

    13.返回Itunes Connect网站上你自己的App信息中查看一下

    在App信息中查看

    14.在这个构建版本这里就可以添加代码


    添加代码

    点击号之后选择代码版本

    添加构建版本

    15.提交以供审核


    提交以供审核

    16.App已经从准备提交,变成正在等待审核状态

    正在等待审核状态

    17.等待苹果的审核...

    八、补充

    1、构建版本的方法有两种,一种是使用 Xcode(上面已经介绍了),另一种就是使用一个叫 Application Loader 这个软件:

    Application Loader
    • 使用Xcode构建版本:
      上面已经介绍(已经Archive的话,可以在Xcode: Window -> Organizer进入)

      Upload to App Store…
    • 使用Application Loader 构建版本:

      • 如上图,点击Export...,导出一个ipa文件(ps:为了保险起见、让苹果审核顺利一点,这里可以先点击Validate...来验证一下,这里就懒得验证了)
      • Application Loader下载Xcode的时候就已经下载了(没有的请自行下载),Xcode 右键弹出下面界面
        Open Developer Tool
        打开Application Loader(如果没有登录,会提示你登录你的开发者账号)
        Application Loader
        选取你导出的ipa文件(或者双击“交付您的应用程序”选取ipa文件),之后按提示操作就行,上传完毕没有报错的话,过几分钟左右就可以在ITunes Connect 里面就可以看到你上传的这个版本了。
        构建版本

    补充就这些吧,后面遇到再补充吧!个人建议构建版本使用Application Loader上传

    相关文章

      网友评论

      • HitlerCoding:良心文章
      • 2dbd73cdba17:很感谢一个朋友分享给我,也很感谢楼主的撰写,太好了
      • BeyondChao:学习了, 把 archive设置成Release模式就可以了,其他的可以不用改
      • 爱超越的欢:写的很好,谢谢楼主
      • 一路向北客:赞一个,很完整 靠谱
      • bcd2bd78b600:六六六
      • ted005:非常完整实用,赞
      • 115a6027f65e:感谢,非常有用!!!!!
      • 9d91acefc4ef:灰常详细,良心贴:+1:
      • 西叶lv:请问,如果公司多个应用想公用同一个发布证书,是不是每个应用在创建App ID时,需要选择Wildcard App ID通配Bundle???
      • 自胜者沐恩:太详细了!
      • 西叶lv:现在导出发布证书,只能导出cer、pem和p7b的格式了,p12的格式已经禁用了
      • 西叶lv:每个证书可以创建2-3个发布证书,那么每发布一新的应用,只需要创建新的PP文件,连接现有的发布证书就可以是么??不需要创建新的发布证书??
      • 05afaa39a886:写的真的很详细,学习了,666
      • KyleBing:根本不需要前面的证书设置,Xcode 会自动设置的。
      • 54264f861174:很详细,学习了。感谢分享心得。
      • IMKel:请问构建版本时,我等了一个多小时那个加号都不出来,怎么回事?又没提示哪里错误了,求救
      • IMKel:真棒,已打赏,请笑纳
      • 梦中回音:良心文章,楼主我要把我表妹介绍给你!
      • 57ee47131497:写的很详细 初学者也能上手操作 赞👍
      • Aacmr:楼主,构建发布版本的时候 ,building setting的 code signing那里,是不是debug就选开发证书,release选发布证书,还是都选发布证书? 不是太清楚, 我就想确认一下。
      • Aacmr:楼主你好,问你个问题。真机测试是不是只能用开发证书和开发配置文件?我每次都是用开发的,用发布的证书和配置文件就会出现问题。所以想问一下,确认一下。
      • Monkey_hbh:写的很详细,很实用,但是我想请问一下,上线付费APP需要多准备呢,只要在价格那里选择多少钱就可以了么?还是其他什么配置
        该简书已经停止更新:@Monkey_hbh 先去提交资料,再创建内购项目
      • winvsmary:写的太好,想举报你了
      • 任性猫平台:好文啊。。。谢谢小编了。:+1:
      • 7a8b4e9c00b3:楼主 开发证书的app ID 能用于发布证书么
      • GodLoveNan:楼主,我问一下现在,让xcode自动管理,是不是就不用选后面的开发证书 和 发布证书了 ? 直接发布是不是就行了,有没有什么影响?
        浮动跳跃:自动管理有可能会选错。
      • candyLong:好人现在不多了 谢谢分享了
      • 码农小白:关注走一波先:grin:
      • 码农小白:博主写的超级好, 超级详细, 真的非常感谢! 过程中我也遇到问题, 就是在我xcode8中需要把一些权限加上, 比如相机/相册/麦克风等, 我没有加的时候也是upload successful, 但是在iTunes connect里面就是一直不出现构建版本, 后来才发现要加权限.
      • rockyMJ:就是差这么用心的人,写的很好
      • 蓝天大海:真的是超详细,作者有心了,谢谢你
      • coderxlp:写的不错, 楼主的这种乐于分享的精神很是值得肯定和学习!!O(∩_∩)O!!
      • FantaZZ:谢谢 谢谢~
      • JerseyBro:舒服
      • 5b6251fa5b0f:我上传预览图片时用你的尺寸提示错误,用如下链接中的尺寸正确:
        http://www.jianshu.com/p/3e40da338be0
        楼主能改一下吗?
        该简书已经停止更新:@lysygyy 尺寸没有错,我的单位是point,他的pixel,2倍的point 等于pixel
      • Hedwig要振作:楼主棒棒哒!
      • 三线小奋青:没有签名部分啊,版主
      • b35d8c9d4dfa:楼主很棒,在此感谢楼主!!
      • 郑明明:不过写的蛮好
      • 郑明明:好复杂。。。
      • beyourking:看了,感觉世界充满了爱:heart:
      • 星零_36cd:感谢分享 这里有Windows系统下上架的介绍http://www.cocoachina.com/bbs/read.php?tid-1715635.html
      • 丶雨凡:小伙辛苦你啦:grin:
      • 何必轻言流年:优秀啊!图文并茂 细致入微
      • 8774dbd211df:为你点个赞:kissing_heart:
      • 空转风:我再build setting那个配置证书的时候,any iOS SDK不能选择开发者证书只能选择iOS development,如果换了就会在general证书配置那边报错,请问any iOS sdk可以不选择开发者证书吗
      • King_mr:good:pray:
      • 未老:我的app第一版,上线之前怎么获取App Store下载更新地址,用于以后版本更新的链接?
        该简书已经停止更新:@未老 在ItunesConnect你创建项目时就有个ID了
      • 6f221e64bb62:赞赞赞!!!
      • 1c7a5aa31c05:很详细,非常感谢,666
      • li大鹏:问一下 假如我的应用想上线美国,不在国内发布。 有这个分布范围的选项吗
      • lemon_summer:万分感谢,写的很详细
      • whiteMu:请问虚拟机的MacOSX系统可以上架吗?
      • fe7dbc38b236:厉害了,我的哥 第一次上架全靠你的这篇文章了,我已关注
      • 化作孤岛的鱼京:在哪上传自己的代码啊?
      • 安心做个笨男孩:太棒了,加油加油
      • 就是一个春天的花朵:请问上传成功之后需要从release改回debug吗?
      • 化作孤岛的鱼京:大神,请问app重名有什么办法吗?之前我们公司开发过一个app,后来没怎么用,现在又开发了一个也叫那个名字,但是重复了,有没有什么办法解决呢?不想改名字。
      • 沈寒冰james:Mark 过程非常详细
      • Jon1993:图文并茂,很详细,借鉴一下,写个公司的同事看~~~:blush:
      • _小布丁:良心文章。。。多谢
      • all_151207:详细 正好用上
      • 等你照顾我:楼主。。我的不能生成.p12文件 不知道啥原因。。。:sob:
      • 641d23dca4b0:求楼主联系方式,急急急 :pray:
      • 1e68a36b8adc:你好 请问如果我在工程里面修改 Bundle Identifier 然后再APP信息里面重新绑定我的这个 Bundle Identifier 这个需求可以吗?
      • 童话镇里蜿蜒的河:楼主你好 如果我已经有一个项目了 我打算再上传一个新的项目 我们应该去操作?
      • f698df9c501c:感谢帮了大忙,谢谢分享 :+1:
      • 给我一支烟smoking:你好请问 我项目中Bitcode 是关闭的 请问上线时是不是需要禁止 Bitcode重新编译
      • 7289f01bc1bf:已收藏,谢谢楼主。
      • Jjianshu:写的真的很详细,很有帮助
      • a2df7b147ad6:写的很详细 很棒 果断收藏 途中遇到archive 不成功的问题怎么解决
      • 21ce03dd75d1:里面的手机号码获取验证码不支持国外的手机号码的咋办呢
      • zyc_在路上:写的太好了 , 泪奔 , 感谢楼主
      • jordanYang:写的太详细了. 大神爱你
      • 睿少:你好,我问一下,如果下架一个APP是不是直接remove就下了,并不需要等待时间?
      • 741260b712b8:Application Loader 上传api文件审核了几个小时,这是什么问题?
      • 努力奔跑的H先生:很受用,感谢
      • 082b3f49b312:跪谢楼主!
      • Chars:很详细啊
      • f99be83ff259:非常感谢楼主 很实用,受教了
      • 沈寒冰james:lz文章很给力,很实用 :blush:
      • 68258b49b134:蒲公英ipa打包倒是比这个简单啊
      • 68258b49b134:虽然没看懂
      • Location_Heart:谁不说你这个屌,我就掏枪了。
      • 天顾有情人_strive:感谢你的用心 ,非常实用。
      • 韦弦Zhy:已收藏
      • 古沐古沐诺:好文章,顶一个
      • 归虹尘:LZ能写个详细点的打包IPA流程就更好了。
      • Mr_Jia:在ituns connect里,新建的APP是等待上传状态,怎么删除这个APP
      • macfai:写的真赞
      • 414697ada450:详细!!
      • 戴维营教育:非常详细。
      • 我叫大大虾米:发布的时候保证Archive 是release 模式就好了,打出来就是发布模式的
      • e86541a1ee0b:广告那个怎么选
      • 蓝天大海:楼主太赞了,给力,谢谢楼主

      本文标题:iOS App上架流程(2016详细版)

      本文链接:https://www.haomeiwen.com/subject/kkqqlttx.html