一、证书的导出
      1.1 前期工作
        首先你需要有一个苹果的开发者帐号,一个Mac系统。
        如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划。怎么申请网上有详细的介绍,因为我没有实际申请过,所以在此不多做介绍。
        如果你已经有了一个IDP,打开https://developer.apple.com/并登录到苹果MemberCenter,登录以后可以看到下面这个界面,列出了你开发需
要的一些工具,支持,itunes app管理等内容。见下: 
            
        选择Certificates, Identifiers & Profiles(左边第二项),申请证书、App ID、设备等配置都在此处。见下:
          
        以上是对应开发的不同版本对应的不同的配置,我上架的是手机版,所以就选择了iOS Apps 中的Certificates

1.2 申请App Id
        
        选择App IDs ——>点击+创建一个新的App ID
         

        其中有两项需要你自己填:
        第一个Name,用来描述你的AppId,这个随便填,没有什么限制,最好是项目名称,这样方便自己辨识(不允许中文哦);
        第二项Bundle ID (App ID Suffix),这是你appid的后缀,这个需要仔细。因为这个内容和你的程序直接相关,后面很多地方要用到,最好是com.yourcompany.yourappname的格式,我用的是项目中的Bundle ID(反正这样是最保险的)
       
       第三项App Services,默认会选择2项,不能修改,只需要选择上自己需要的服务即可,不知道在哪里看到说是必须要选上推送,否则后面就没有办法修改了,但是我自己测试的是可以修改的。如果不放心的同学可以选择上哦!
        然后点击Continue确认没有错的话直接点击Submit后点击Done即完成App Id的创建
 
      1.3 创建证书

         1.3.1、先创建一个证书请求文件        
        这儿需要一个Mac系统。以下内容以OS X Yosemite系统为例,另外版本差别不是很大。
        首先打开应用程序-实用工具-钥匙串访问(KEY CHAIN),在证书助理中,选择"从证书颁发机构求证书",如下图:
        
        在下图所示的界面,你的电子邮件地址:填你申请idp的电子邮件地址,常用名称,默认就好,CA空,选择存贮到磁盘,点击"继续":
        
         选择保存的位置,比如选择桌面。下一步点击完成,你就可以看到你的桌面多了一个CertificateSigningRequest.certSigningRequest的证书请求文件。注:CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的密钥的名字。
      1.3.2 制作Provisioning Profile证书文件
          1.3.2.1 开发者证书的制作:登陆到开发者中心,找到证书配置的版块,选择
,点击右上角的加号:
                            
                发布证书和开发者证书需要操作两次,分别创建,开发者证书用于真机调试,发布证书用于提交到AppStore。
                
               然后下一步,会提示创建CSR文件,也就是证书签名请求文件。
               
              直接选择我们上一步保存在桌面的CertificateSigningRequest.certSigningRequest的证书请求文件即可。
              提交上去后就会生成一个cer证书,如图所示,有效期为一年。
             
            点击DownLoad,双击安装。(如果安装不上,可以直接将证书文件拖拽到钥匙串访问的列表中)
        1.3.2.2 Provisioning Profile证书制作:到这一步证书还没凑全,想提交AppStore还需要PP证书。

点击Provisioning Profiles,然后点击右上角的加号。
            
           该流程也需要进行两次,分别创建开发用的PP证书和发布的PP证书。
           
          下一步的选择项里会自动检测匹配你的AppID,另外下拉项中还可以选择wildCard格式。
           注意:wildCard格式的证书没有推送,PassCard等服务的应用,慎重选择。           继续,这里有一个区别,因为PP证书的开发者证书需要真机调试,所以我们需要绑定真机,这里因为之前我添加过一些设备,所以这里就可以直  接全选添加,如果没有的话,需要将真机的udid复制出来在此添加,在发布PP文件中,是没有这一步的。
           
           之后就是输入一个PP证书的名字了,然后生成,下载保存,双击就添加到Xcode中,这样在真机调试或者发布时,就可以分别有不同的PP证书与其对应。【其实可以不用下载保存,具体原因后面会介绍到】
       1.4  配置项目环境
         1.4.1 Account的配置
           Xcode——>Preferences 就会出现Account的配置界面,如图:
          
         点击+可以选择Add Apple ID;点击View Details可以查看该Apple Id下的Certificates和Provisioning Profile证书文件,在这里你可以点击下载。
       1.4.2 项目的配置
         在项目Targets下的Identity中,Team选择对应的Apple ID 即可
         在XCode的项目设置里,Provisioning Profile就可以选择对应的证书。
        

前期的准备工作就算完成了。

二、    ipa打包
      2.1 Archive在线打包
          在真机状态下选择Product——>Archive(如果不是真机状态下,Archive会是灰色不可用的),成功会弹出如下图:
          
          网上说先点击Validate进行验证,虽说验证的过程有点小慢,但是为了审核顺利点,还是验证下为好(有次validate一直不成功,直接导出ipa的安装包也没错误,因为不上传到市场,所以暂时没有遇到问题。这算是应付公差,不建议使用哦)。
          验证成功后点击Export导出ipa的包用与上传即可。

三、ipa提交App Store
      3.1  在itunes中创建程序
      登录开发者中心,选择Itunes Connect,进入后选择“我的App”如下图:


     点击左上角的+选择“新建App”,根据自己的app然后填写相应的信息即可,因为项目较多,就不一一讲解了,但是其中的注意事项会写到:
     
     1、选择语言的时候,简体中文是Simplified Chinese,不要再找Chinese了,找不到的(我就是
     2、套装ID与SKU主要是app的唯一标识吧,我是用的项目中Bundle Identifier的内容,即com.company.projectname
    (App信息以及价格与定价根据app不同自己填写就可以了)
    3.上传App Icon的时候,注意那个问号哦,需要上传1024*1024的,而且不能有圆角效果哦!

4.这里需要不同屏幕的截图,可以直接用模拟机运行后截图。待模拟器运行开始的时候,按住cmd+S, 模拟器的屏幕截图就直接保存在桌面上了。
    5.上传的时候会提示“无法载入文件”的问题。原因是:截图保存的文件名有中文,修改下截图名称即可!

6.屏幕尺寸大家都可以查到,为了自己方便,简单备注下:
         4.7英寸 ——>iphone6          5.5英寸——>iphone 6 plus       4英寸 ——>iphone5S            3.5英寸 ——> iphone 4S
     
     7、ipa包的上传:我使用的是Applicaton Loader


      点击选取,选择导出的ipa的文件,然后选择对应的信息,成功之后,30分钟~1小时差不多久可以在“构建版本”首次的话会直接提交app,如果有多个版本的话,需要在这里选择对应需要审核的版本即可
      8、不要忘记填写测试账号,否则会被拒的,而且一定要跟服务器同事说好,不要删除测试账号,否则同样被拒(我就遇到了
      9、还有个IDFA的广告得到选择,看着提示如果出现偏差感觉都要搞砸的样子,所以找到网上一个选择,应该不会出错
      

大功告成了,希望可以帮到别人,也希望自己不要忘记

参考文档:
              链接1:http://www.it165.net/pro/html/201409/22419.html  【app上架详解,版本较老】

链接2:http://www.w-cun.com/post/ioskai_34009.htm  【证书的申请,看到讲解比较细的,证书部分借鉴最多呢】
              链接3:http://www.cocoachina.com/bbs/read.php?tid-277776.html  【itues connect上传截图提示无法载入文件问题解决方法】
              链接4:http://bbs.umeng.com/thread-5420-1-1.html    【如何防止应用因获取IDFA被拒】

ios app 上架AppStore的更多相关文章

  1. (转))iOS App上架AppStore 会遇到的坑

    iOS App上架AppStore 会遇到的坑   前言:非原创 文章摘自:http://zhuanlan.zhihu.com/100000PM/20010725 相信大家一定非常「深恶痛疾」AppS ...

  2. iOS App上架AppStore 会遇到的坑

    前言部分 前言:非原创 文章摘自:http://zhuanlan.zhihu.com/100000PM/20010725 相信大家一定非常「深恶痛疾」AppStore的一系列产品上架规则.每次产品上架 ...

  3. Hbuilder用自有证书打包 ios App上架AppStore流程

    最近在用Hbuilder做跨平台开发,经过一番研究终于在苹果商店上架成功了一款产品!这款产品就很简单,直接用hbuilder打包好,然后上传到商店即可.这里参照ios app提交应用商店 这篇文章结合 ...

  4. 最新Xcode7.x环境下上架iOS App到AppStore 完整流程

    最新Xcode7.x环境下上架iOS App到AppStore 流程  part 1 前言部分 之前App要上架遇到些问题到网上搜上架教程发现都是一些老的版本的教程 ,目前iTunesConnect ...

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

    iOS App上架流程(2016详细版) 原文地址:http://www.jianshu.com/p/b1b77d804254 感谢大神整理的这么详细 一.前言: 作为一名iOSer,把开发出来的Ap ...

  6. 图文详解丨iOS App上架全流程及审核避坑指南

    App Store作为苹果官方的应用商店,审核严格周期长一直让用户头疼不已,很多app都"死"在了审核这一关,那我们就要放弃iOS用户了吗?当然不是!本期我们从iOS app上架流 ...

  7. Xcode7.1环境下上架iOS App到AppStore 流程 转

    来自:http://www.cnblogs.com/ChinaKingKong/p/4957682.html 前言部分 之前App要上架遇到些问题到网上搜上架教程发现都是一些老的版本的教程 ,目前iT ...

  8. Xcode7.1环境下上架iOS App到AppStore 流程③(Part 三)

    前言部分 part三 部分主要讲解 Xcode关联绑定发布证书的配置.创建App信息.使用Application Loader上传.ipa文件到AppStore 一.Xcode配置发布证书信息 1)给 ...

  9. 【转】Xcode7.1环境下上架iOS App到AppStore 流程 (Part 三)

    原文网址:http://www.cnblogs.com/ChinaKingKong/p/4964745.html 前言部分 part三 部分主要讲解 Xcode关联绑定发布证书的配置.创建App信息. ...

随机推荐

  1. Codeforces Round #386 (Div. 2) A+B+C+D!

    A. Compote 水题(数据范围小都是水题),按照比例找最小的就行了,3min水过. int main() { int a,b,c; while(~scanf("%d%d%d" ...

  2. Linux使用Mutt发送邮件/附件

    使用Mutt发邮件极其方便,只需要一条命令即可发送或者批量发送邮件 功能说明:E-mail管理程序. 语 法:mutt [-hnpRvxz][-a<文件>][-b<地址>][- ...

  3. UVA11090 Going in Cycle!! 【SPFA】

    题意:求一个无向图的边权平均值最小的环 思路:假设环中Σwi/t<ans 那变形一下就是Σwi<ans*t → Σ(wi-ans)< 0 这样就可以二分答案做了 #include & ...

  4. UVA12103 贪心+置换

    题意:给出26个大写字母的置换B,问是否存在一个置换A,舍得A^2=B,如果存在输出Yes,否则输出No 题解: 研究一下置换A与A^2关系. 假设A=(a1 a2 a3)(b1 b2 b3 b4) ...

  5. BZOJ2097: [Usaco2010 Dec]Exercise 奶牛健美操

    n<=100000的树,砍S<n条边,求砍完后S+1棵树的最大直径的最小值. 树的直径要小小哒,那考虑一棵子树的情况吧!一棵子树的直径,就是子树根节点各儿子的最大深度+次大深度.就下面这样 ...

  6. Android服务Service

    安卓Service服务 一    Service简介 Service是运行在后台的,没有界面的,用来处理耗时比较长的.Service不是一个单独的进程,也不是一个单独的线程. Service有两种类型 ...

  7. 进程&进程池

    进程 服务器中, s.listen(n) n不能无限大,以为内存不可能无限大,n表示内存同一时间接纳的等待连接数,可以看成一个(队列),取出一个拿去建立连接,然后再放进一个,队列中一直保持n个连接 请 ...

  8. hdu1875kruskal简单应用。

    标记是dificulty 2,水,开始kruskal时练手题,只需开始时数据处理下,不符合要求的边不要,要理解并查集和Kruskal,就简单了,判断下是否联通图,(只需在记加入有效边时候统计连通分支数 ...

  9. PAT (Advanced Level) 1032. Sharing (25)

    简单题,不过数据中好像存在有环的链表...... #include<iostream> #include<cstring> #include<cmath> #inc ...

  10. 【Java源码】树-概述

    树的基本术语 结点(node)由数据元素以及指向子树的地址构成. 若 X 结点有子树,则子树的根结点称为 X 的孩子(child)结点,相应地, X 称为其孩子的双亲(parents)结点,又称父母结 ...