网上的ios app上架流程比较多,但基本上都不全。此文档按照步骤进行的,比较推荐。
自己按照教程正式走了一遍发现了很多问题,很多都是遇到问题解决问题,整个流程所花费的流程不下一周时间,所以为了让大家了解苹果公司的相关规定,让兄弟们少走弯路,特意转载部分流程和自己的错误。前半部分都是转载,后面遇到的问题是自己的实际情况。
一、准备:
- 一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为99、99、99、$299、免费。)。
- 一个已经开发完成的项目。
二、检查:
- 你的Xcode必须是正式版的,beta版本的Xcode是不能上传项目的。
- 上传使用的 Mac 的 OS X系统必须也是正式版的,beta版本也不行。
- 请确认你安装的Xcode是从App Store或者是开发者网站下载的,而不是从其它渠道获取的安装包安装的,因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?
![](https://img-blog.csdn.net/20160919171822450?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
检查方法
三、生成发布证书
-
打开苹果开发者中心:https://developer.apple.com
打开后点击:Account
![](https://img-blog.csdn.net/20160919171844824?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
苹果开发者中心
下面输入已付款过的Apple账号和密码登录(如果你的电脑已经保存了密码,会直接进入)
![](https://img-blog.csdn.net/20160919172032419?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
开发者登录账号
-
点击:Certificates, Identifiers & Profiles (专门生成证书,绑定Bundle Id,绑定device设备,生成描述文件的地方)
![](https://img-blog.csdn.net/20160919172050764?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Member Center
-
点击Certificates生成证书
- 选择iOS, tvOS, watchOS
- 选择All
- 点击右上角新添加证书
![](https://img-blog.csdn.net/20160919172126015?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
添加新证书1
-
由于是做App上传,选择生产证书(选择App Store and Ad Hoc)
![](https://img-blog.csdn.net/20160919172145312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
选择App Store and Ad Hoc
注意:一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc 前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了。
解决方法:
- 从共同使用这个账号的人电脑上生成.p12文件,导入自己的电脑。(尽量不要执行下面第2步)
- 如果你想生成的话,把现有的删除一个(建议删除时间比较靠前的)。注意:如果删除一个证书,那么正在使用这个证书的人将不能再使用了,除非重新生成,然后利用.p12重新导入自己的电脑里!
注意:如果你想删除证书,执行下面步骤,否则略过。![](https://img-blog.csdn.net/20160919172207906?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
删除证书
然后接上上图,生产证书部分继续
![](https://img-blog.csdn.net/20160919172234547?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
生成证书2
![](https://img-blog.csdn.net/20160919172256345?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
生成证书3
![](https://img-blog.csdn.net/20160919172312469?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
生成证书4
-
上传CSR文件去获取证书(CSR文件需要我们到本机钥匙串里去创建)
- 在Launchpad的其他里面,点击钥匙串访问弹出如下界面
![](https://img-blog.csdn.net/20160919172329548?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
其他
![](https://img-blog.csdn.net/20160919172349360?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
钥匙串访问
- 工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书…
![](https://img-blog.csdn.net/20160919172409642?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
请求证书
![](https://img-blog.csdn.net/20170217164112500?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFpZHVfMzE2ODM2OTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
证书信息
- 将CSR文件保存到MAC磁盘的某个位置(这里我选择的是桌面,进行存储)
![](https://img-blog.csdn.net/20160919172449754?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
存储证书
![](https://img-blog.csdn.net/20160919172509939?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击完成
![](https://img-blog.csdn.net/20160919172528783?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
CertificateSigningRequest.certSigningRequest 文件
-
然后回到浏览器,点击choose File..
![](https://img-blog.csdn.net/20160919172657429?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
选择CSR文件
-
选择创建好的:CertificateSigningRequest.certSigningRequest 文件,点击选取
![](https://img-blog.csdn.net/20160919172634476?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
选取CSR文件
点击Generate上传证书
![](https://img-blog.csdn.net/20160919172720680?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上传CSR证书
-
跳转到如下界面,点击 DownLoad 下载生成的证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。
![](https://img-blog.csdn.net/20160919172745774?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
下载生成的证书
![](https://img-blog.csdn.net/20160919172808197?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
cer后缀的文件
注意:这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
如果不需要给别的电脑使用,则直接跳过下面附加项,跳转到第五步(绑定Bundle Identifier)
附加项:生成p12文件在其他电脑上使用这个发布证书
- 双击安装证书后,打开钥匙串访问,选择安装的证书右键单击
![](https://img-blog.csdn.net/20160919172857901?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
安装的发布证书
注意:如果没有导出,可以把这个证书删除,然后重新双击下载的证书文件安装。
- 导出证书
![](https://img-blog.csdn.net/20160919173000378?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
导出证书
- 存储证书
![](https://img-blog.csdn.net/20160919173923663?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
存储导出的证书
注意:存储的文件格式一定要是.p12
- 设置密码
可以为证书设置密码,也可以不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。这里就不设置密码了。![](https://img-blog.csdn.net/20160919174016164?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
设置密码
- 保存导出的证书
![](https://img-blog.csdn.net/20160919174029901?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
p12发布证书
如果需要在其它电脑上也能发布App,那么就必须要安装这个发布证书。
四、创建App IDs和绑定你的App的Bundle Identifier
回到刚才的页面:https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action
-
点击App IDs,进入如下界面,点击右上角的 + 号
![](https://img-blog.csdn.net/20160919174113668?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击App IDs
-
填写App IDs和Bundle Identifier
![](https://img-blog.csdn.net/20160919181758743?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
填写App IDs和Bundle Identifier
注意:
- 上传App使用的Bundle Identifier(不要有-,都是英文+数字)必须是固定的,不能使用占位符。
- 如果你的Bundle Identifier已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier的话,需要重新进入到开发者账号里面绑定。
![](https://img-blog.csdn.net/20160919181844093?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
修改工程的Bundle Identifier
下面选择App中包含的服务,默认有两项,其余的根据自己项目的需求进行选择![](https://img-blog.csdn.net/20160919181914477?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
App Services
-
点击continue
![](https://img-blog.csdn.net/20160919181938516?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击continue
-
点击Register
![](https://img-blog.csdn.net/20160919182011439?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击Register
-
点击Done
![](https://img-blog.csdn.net/20160919182044259?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击Done
五、生成描述文件(描述文件的作用就是把证书和Bundle Identifier关联起来)
-
找到Provisioning Profiles ,点击All,然后点击右上角 + 号
![](https://img-blog.csdn.net/20160919182113362?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Provisioning Profiles
-
因为是发布,所以选择下面App Store这个描述文件,点击Continue
![](https://img-blog.csdn.net/20160919182146713?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
选择App Store
-
在App ID 这个选项栏里面找到你刚刚创建的:App IDs(Bundle Identifier) 类型的套装,点击Continue
![](https://img-blog.csdn.net/20160919182216082?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
选择发布项目的Bundle Identifier
-
选择你刚创建的发布证书(或者生成p12文件的那个发布证书),根据自己电脑上的发布证书日期来选择,点击Continue
![](https://img-blog.csdn.net/20160919182243244?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
选择创建的发布证书
-
在Profile Name栏里输入一个名字(这个是PP文件的名字,可随便输入,在这里我用工程名字,便于分别),然后点击Generate
![](https://img-blog.csdn.net/20160919182308677?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
给描述文件起个名字
-
Download生成的PP文件,然后点击Done,双击安装(闪一下就完事了,没其它效果)
![](https://img-blog.csdn.net/20160919182713466?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Download生成的PP文件
![](https://img-blog.csdn.net/20160919182736154?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
生成的描述文件
六、在App Store开辟空间
-
回到Member Center,点击iTunes Connect
![](https://img-blog.csdn.net/20160919182803621?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击iTunes Connect
-
登录开发者账号(还是之前已付费的账号)
![](https://img-blog.csdn.net/20160919182825575?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Snip20160315_68.png
-
登录成功后,点击我的App
![](https://img-blog.csdn.net/20160919182847919?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击我的App
-
点击左上角那个+号,点击新建(注意:我们是iOS App开发,不要选Mac App啦)
![](https://img-blog.csdn.net/20160919182909780?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
新建 App
-
依次按提示填入对应信息(SKU是公司用于做统计数据之类的id,根据公司需求填写),然后点击创建
![](https://img-blog.csdn.net/20160919182936967?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
填写App信息
注意:如果都填好以后,可能会告诉你,你的App名称已经被占用,那么不好意思,你只能改名了!(而且建议大家起名不要往比较出名的App上靠,否则审核可能会被拒绝)
-
填写App其它信息
![](https://img-blog.csdn.net/20160919182958436?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
App信息
-
填写价格和销售范围(由于我的开发者账号没有签订纳税合同,所以不能上线收费应用,所以只能暂时免费)
![](https://img-blog.csdn.net/20160919183023265?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
填写价格和销售范围
-
依次把不同尺寸的App截图拉入到对应的里面
需要填写不同尺寸的手机屏幕截图(也就是拿不同尺寸的模拟器运行后,挑出至少3页最多5页进行截图然后拖到响应的区里)(在模拟器Command+S 就可以保存屏幕截图到桌面了)(注意:如果提示拖进去的图片尺寸不对,则把模拟器弄成100%然后再Command 加 S) 尺寸参照表在下面
![](https://img-blog.csdn.net/20160919183134125?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
设置不同尺寸的App截图
尺寸参照图
![](https://img-blog.csdn.net/20160919183201096?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
尺寸参照图
-
填写App简介
![](https://img-blog.csdn.net/20160919183222549?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
填写App简介
-
按提示依次输入
![](https://img-blog.csdn.net/20170217164526986?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmFpZHVfMzE2ODM2OTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
按提示依次输入
错误提示:如果上传App 图标失败,提示Alpha错误的话,看下面。
打开你的图标图片,勾掉这个
![](https://img-blog.csdn.net/20160919183310301?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
勾掉这个
-
点击分级后面的编辑,如实填写后,点击完成
![](https://img-blog.csdn.net/20160919183351204?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
分级信息
-
填写审核信息
![](https://img-blog.csdn.net/20160919183526664?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
填写审核信息
版本发布就是:(然后最下面选择自动发布的话就是如果审核通过,就自动上传到App Store供人下载)
-
此时这个构建版本还没有生成,我们先把基本信息填写完毕,然后再进入Xcode中把项目打包发送到过来。
注意:填写完一定要点击右上角的保存。
七、在Xcode中打包工程
找到你刚刚下载的发布证书(后缀为.cer)或者p12文件,和PP文件,双击,看起来没反应,但是他们已经加入到你的钥匙串中。
-
在Xcode中选择iOS Device(这里不能选择模拟器),按照下图提示操作
![](https://img-blog.csdn.net/20160919183628986?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
选择iOS Device
-
如果你的应用不支持横屏,把这两个勾去掉
![](https://img-blog.csdn.net/20160919183745393?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如果你的应用不支持横屏,把这两个勾去掉
-
查看版本号和构建版本号
![](https://img-blog.csdn.net/20160919183821901?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
查看版本号和构建版本号
-
配置发布证书
![](https://img-blog.csdn.net/20160919183848933?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
配置发布证书
注意:如果这里没有黄色叹号,代表你的配置没问题,如果有,那就是证书和描述文件不匹配,或者描述文件里刚才选的Bundle和现在的工程的Bundle Identifier不一致,去develop.apple.com 上找到你的描述文件在确认下绑定的bundle Identifier和你工程是不是一样的?
![](https://img-blog.csdn.net/20160919183922731?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
检查
-
将断点、全局断点,僵尸模式等都要去掉。
![](https://img-blog.csdn.net/20160919183955769?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
去掉断点、全局断点
![](https://img-blog.csdn.net/20160919184028123?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Snip20160315_36.png
![](https://img-blog.csdn.net/20160919184102795?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Snip20160315_37.png
![](https://img-blog.csdn.net/20160919184133004?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
去掉僵尸模式
6.设置Release模式(Debug是测试的,Release是发布用的)
![](https://img-blog.csdn.net/20160919184157316?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Snip20160315_39.png
![](https://img-blog.csdn.net/20160919184240984?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Snip20160315_40.png
![](https://img-blog.csdn.net/20160919184310020?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Snip20160315_41.png
![](https://img-blog.csdn.net/20160919184350095?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Snip20160315_42.png
7.选择 Xcode下 Product 下 Archive(专门用于传项目,或者打包项目)
![](https://img-blog.csdn.net/20160919184416658?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
选择Archive
![](https://img-blog.csdn.net/20160919184447299?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Snip20160315_45.png
![](https://img-blog.csdn.net/20160919184519316?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Snip20160315_46.png
8.出现下图说明你没有添加开发者账号,点击右下脚Add… 按钮就可以添加
![](https://img-blog.csdn.net/20160919184543005?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
没有添加开发者账号
9.输入付费的开发者账号
![](https://img-blog.csdn.net/20160919184606176?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
输入开发者账号
可能会弹出下面这个界面,如果不弹出,按Command加。
![](https://img-blog.csdn.net/20160919184629615?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
10.然后回到Archive(选择已付费的账号),然后点击Choose
![](https://img-blog.csdn.net/20160919184651131?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
选择已付费的账号
然后等待
![](https://img-blog.csdn.net/20160919184716552?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
等待
11.选择Upload提交
![](https://img-blog.csdn.net/20160919184742053?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Upload提交
12.如下就代表上传成功,如果出错,请参照iOS App上传项目遇到的问题
![](https://img-blog.csdn.net/20160919184805631?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上传成功
(往App Store上提交应用第二种方法(不推荐,但有同学喜欢这么做))
还有同学不是直接uplaod to appstore,而是先export出来,然后通过application loader提交上去,这样也可以
![](https://img-blog.csdn.net/20160919155915042?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
正在往App Store上提交应用
![](https://img-blog.csdn.net/20160919155938543?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
出现下边这种情况,你只需要闭上眼睛点击下一步就OK,别管那么多,都是唬人的
![](https://img-blog.csdn.net/20160919155953950?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
说明你已经交付成功,走到第13步
![](https://img-blog.csdn.net/20160919160005244?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
13.返回ItunesConnect网站上你自己的App信息中查看一下
![](https://img-blog.csdn.net/20160919185713449?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在App信息中查看
14.在这个构建版本这里就可以添加代码
![](https://img-blog.csdn.net/20160919190015028?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
添加代码
点击+号之后选择代码版本
![](https://img-blog.csdn.net/20160919190134701?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
添加构建版本
15.提交以供审核
![](https://img-blog.csdn.net/20160919190153650?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
提交以供审核
16.App已经从准备提交,变成正在等待审核状态
![](https://img-blog.csdn.net/20160919190217685?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
正在等待审核状态
17.等待苹果的审核…
转载:http://blog.csdn.net/yanmantian/article/details/53256765
提交前的苹果公司回复的邮件
如下:这个是上传ipa文件时,密码输入需要二次认证问题。
![](https://img-blog.csdnimg.cn/20190314112826153.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpc3Ryb24=,size_16,color_FFFFFF,t_70)
这个是上传成功后,但没有在app store上刷出来的问题,纠结了我2个小时,最后通过苹果恢复的邮件才得以解决。
![](https://img-blog.csdnimg.cn/20190314113102367.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpc3Ryb24=,size_16,color_FFFFFF,t_70)
还有一些其他的问题,都是一边遇到一边解决的。总之路途很艰辛,解决后很开心。