一、证书的导出
      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. Sublime Text 3使用方法

    一.下载安装 Sbulime Text 3官网   参考网站:http://lucida.me/blog/sublime-text-complete-guide/注意在安装时勾选Add to expl ...

  2. laravel groupby分组问题。

    laravel 5.7使用groupBy分组查询时会提示一个错误,但是sql可以执行. 因为:mysql从5.7以后,默认开启了严格模式. 解决方法:将/config/database.php 中:关 ...

  3. 用DW制作简单的浮动广告

    原文发布时间为:2008-11-08 -- 来源于本人的百度文章 [由搬家工具导入] 浮动广告可以用层和时间轴结合做出,先选择你的dreamweaver“窗口”,然后从“窗口”菜单中选择“时间轴”,时 ...

  4. ArrayList去除重复元素

    去除一个ArrayList的重复元素有两种方法:(ArrayList与Vector的存储结构是Object[],LinkedList是双向列表) 第一种是不需要借助临时list,用equals方法比较 ...

  5. Windows Server 2003的一些优化设置 (转至网络)

    2003序列号:JCHKR-888KX-27HVK-DT88X-T767M1.禁用配置服务器向导: 禁止“配置你的服务器”(Manage Your Server)向导的出现:在控制面板(Control ...

  6. Xcode warning:Auto property synthesis will not synthesize property

    iOS 警告提示如下: 添加 @dynamic告诉编译器这个属性是动态的,动态的意思是等你编译的时候就知道了它只在本类合成; 如下:

  7. 51nod 1499 (最小割)

    题意 分析 将一些点分成两个集合,很明显的最小割问题 设一个S.T,和S相连的点表示在B集合中,和T相连的点表示在A集合中 因为原题是完美值最大,我们转换一下,变成损失的价值最小,那么就是最小割问题了 ...

  8. BZOJ4555求和(cdq分治+NTT)

    题意: 输出f(n)对998244353(7 × 17 × 223 + 1)取模的结果.1 ≤ n ≤ 100000 其中S(i,j)是第二类Stirling数,即有i个球,丢到j个盒子中,要求盒子不 ...

  9. Spring下的@Inject、@Autowired、@Resource注解区别(转)

    1.@Inject javax.inject JSR330 (Dependency Injection for Java) 这是JSR330中的规范,通过AutowiredAnnotationBean ...

  10. Eclipse luna 装不上 veloeclipse

    今天在Eclipse中始终无法安装veloeclipse ,报错:Failed to prepare partial IU: [R]com.googlecode.veloeclipse.ui 2.0. ...