iOS 最新App提交上架流程及部分问题的解决方案2016.12.21,感谢原博主!!!
内容摘自http://www.cocoachina.com/bbs/3g/read.php?tid=330302,原博特别详细,下面我对部分地方进行了修改,主要是对在打包验证和上传的时候遇到的问题进行了一个解决方案的提供,最后感谢原博主对我的帮助!!!
一、证书的导出
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


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进行验证,虽说验证的过程有点小慢,但是为了审核顺利点,还是验证下为好(我这里遇到一个问题,提示iTunes Store operation failed
No suitable application records were found. Verify your bundle identifier"…………"is correct,我在Xcode中重新下载了所有的证书,挂了个VPN就可以了,VPN可以先不挂试试,下载所有证书在Xcode左上角Xcode->Preferences->Accounts->选择你的Apple IDs->View Details(这里加载可能比较慢)->Download All Profiles(这里加载可能也很慢))。
验证成功后点击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的文件,然后选择对应的信息,(上传我发现在早晨的时候上传最快十来分钟就好了,晚上上传我最长一次上传了二十多个小时都没有成功)(此处上传我遇到了提示信息为
Error ITMS-90168: “The binary you uploaded was invalid.”的错误
通过网上查找到解决步骤1:打开终端输入以下信息即可
cd ~/.itmstransporter
rm update_check*
mv softwaresupport softwaresupport.bak
cd UploadTokens rm *.token
很多人输入这个问题即解决了
但是我依旧不行,我刚开始使用的是Applicaton Loader 3.0,后来在stack Overflow上有人说用Applicaton Loader3.6的版本就可以了
Applicaton Loader3.6的版本只有通过Xcode进入,进入方式为下

)
上传成功后,30分钟~1小时差不多久可以在“构建版本”中看见你上传的app(我过了5分钟就看见了),如果有多个版本的话,需要在这里选择对应需要审核的版本即可成功之后,
8、
不要忘记填写测试账号,否则会被拒的,而且一定要跟服务器同事说好,不要删除测试账号,否则同样被拒(我的App无需账号登录,我这里填写的是用户名:demo密码123456)
9、联系电话中需要加中国的区号+86后面是具体的联系电话,如:+86 15167896568
10、还有个IDFA的广告得到选择,看着提示如果出现偏差感觉都要搞砸的样子,所以找到网上一个选择,应该不会出错,(此处有三个选项,第一个为出口合规信息
第二个内容版权,第三个为广告标识符,我三个都选择的否,并没有按照原博主的选择)

iOS 最新App提交上架流程及部分问题的解决方案2016.12.21,感谢原博主!!!的更多相关文章
- iOS APP提交上架流程
转载自CocoaChina,链接地址:http://www.cocoachina.com/bbs/read.php?tid=330302 后面问题我也遇到了,参考该文章解决的 转自http://blo ...
- iOS-APP提交上架流程(新手必看!2016年3月1日最新版)
自己的经验总结,有错的话请留言,第一时间更改. 先大概说一下iOSAPP上架的几个步骤(详细步骤见下图): 创建证书请求文件 登录苹果开发者中心生成发布者证书(下载下来要双击一下) 设置APPID(要 ...
- iOS开发基础:最新的APP打包上架流程
之前有人留言让我更新部分文章,下面就为大家分享一下iOS的APP打包上架流程: 上传至apple developer 1.1 上传准备工作 更新上架和发布上架不同,在原始版本首次上架的时候就将描述文件 ...
- iOS应用App Store发布流程
iOS应用App Store发布流程 要发布iOS应用到App Store首先得有一个开发者账号,且不能是企业版(企业版只能部署inhouse,不能部署到App Store). 应用发布到App St ...
- iOS APP提交上架最新流程(转)
时隔1年又让我鼓捣iOS,刚接手就是上架,经验值为0的我,虽然内心是拒绝的,但还是要接受这项任务滴!也就是在被拒后重新审核,再改在提交...这样 反复的过程中也对上架流程熟悉了好多,写篇帖子送给同为菜 ...
- iOS APP提交上架最新流程
时隔1年又让我鼓捣iOS,刚接手就是上架,经验值为0的我,虽然内心是拒绝的,但还是要接受这项任务滴!也就是在被拒后重新审核,再改在提交...这样反复的过程中也对上架流程熟悉了好多,写篇帖子 ...
- iOS之App Store上架被拒Legal - 5.1.5问题
今天在看到App Store 上架过程中,苹果公司反馈的拒绝原因发现了这么一个问题: Legal - 5.1.5 Your app uses background location services ...
- 2014最新 iOS App 提交上架store 详细流程
http://blog.csdn.net/tt5267621/article/details/39430659
- iOS版本更新的App提交审核流程
App的版本更新估计是在所难免的了!更新App和新的App发布有何不同了?今天我们一起来看看吧!在发布App的时候我们需要通过开发者帐号——(申请)——>发布证书(需要钥匙串对证书签名也叫加密( ...
随机推荐
- 构建一个真实的应用电子商务SportsStore(十一)
构建一个真实的应用电子商务SportsStore(十一) 我们的项目已经进入了非常好的良性循环,项目中涵盖了多数现在的主流开源框架的使用.就Ninject而言,我们的运用是非常的成功,没有任何一点多余 ...
- Centos 上使用mmsh协议听猫扑网络电台 VLC播放器
Centos 上使用mmsh协议听猫扑网络电台 VLC播放器 安装CentOS已经有一段时间了,但是由于在Linux下除了学习,其他是事情都干不了.今天想闲来无事开了CentOS就想听一下歌,突然想起 ...
- Apache遇到的问题:APR not found
#./configure --prefix……检查编辑环境时出现: checking for APR... no configure: error: APR not found . Please r ...
- [置顶] SQL注入安全分析
(一) 应用环境列表 网络互联设备操作系统 序号 操作系统名称 设备名称 脆弱性 1 IOS_路由器_内部_1 route1 2 IOS_路由器_VPN_1 路由器_VPN_1 3 IOS ...
- 添加第三方类库造成的Undefined symbols for architecture i386:编译错误
1.原因: 如果是源码编译的话,一般就只某些头文件没有添加到src编译里面.但是对于添加库编译,一般是库的编译路径设置不正确(比如arm的版本.模拟器或者真机的不同版本库引用错误或者重复引用一起编译器 ...
- C/C++ 内存对齐
一.什么是对齐,以及为什么要对齐: 1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问, ...
- Hadoop学习之Ubuntu12.04 Hadoop 环境搭建笔记
SSH无密码配置 Hadoop在Ubuntu12.04上搭建环境 报错及问题 SSH无密码配置 参考:Linux(Centos)配置OpenSSH无密码登陆 注意问题: Hadoop集成环境三台机器都 ...
- Mybatis学习笔记(三) 之Dao开发
使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法,常用还是Mapper接口开发. SqlSession的使用范围 public class test1 { ...
- Mocha的单元测试实战
Mocha Mocha是一个测试框架,为JS应用添加测试.使用见:mochajs. Mocha结合Nodejs实战 ontstair.js 这里我们使用自定义模块:ontstair.js,代码如下. ...
- 关于onCreate(Bundle savedInstanceState, PersistableBundle persistentState)
API 21为Activity增加了一个新的属性,只要将其设置成persistAcrossReboots,activity就有了持久化的能力,另外需要配合一个新的bundle才行,那就是Persist ...