这是截止2015年7月最新的操作流程。
注意在mac下操作时,尽量使用safari浏览器。

说明

可以在这里查看app store对开发者的一些要求
英文:​​​https://developer.apple.com/app-store/review/guidelines/​​​
中文:​​​http://www.cocoachina.com/appstore/20130304/5757.html​​​
为了避免后面的错误,要确保以下几点:

必须支持64bit 提供launch image

  • 推荐把Architectures设置为Standard architectures.
  • 要提供launch image,在Info.plist的UILaunchImages字,大小为320*568。必须为png格式,必须在bundle的顶层,或者为每个.lproj设置一个本地化的launch image。
  • 在Images.xcassets里 新增LaunchImage1
    iOS 开发学习41 提交appstore_xcode

操作

登陆appstore

​https://developer.apple.com/account​

进入iOS Apps

iOS 开发学习41 提交appstore_app_02

检查以下选项

分发证书,注意要与开发证书区分开(下面是开发证书示例)

iOS 开发学习41 提交appstore_ios_03
如果没有发布证书,则先申请。下面是申请流程:
1.申请证书
iOS 开发学习41 提交appstore_app_04
iOS 开发学习41 提交appstore_ios_05
2.新增分发证书
iOS 开发学习41 提交appstore_app_06
2.先择分发证书
iOS 开发学习41 提交appstore_store_07
点Continue
3.选择证书
iOS 开发学习41 提交appstore_开发证书_08
点击ChooseFile:
选择前面申请的证书
然后生成证书:
iOS 开发学习41 提交appstore_xcode_09
4.点击download下载
ios_distribution.cer
5.选择Provisioning Profiles-All
点加号新增
iOS 开发学习41 提交appstore_开发证书_10
6.选择appid
iOS 开发学习41 提交appstore_store_11
7.选择分发证书
iOS 开发学习41 提交appstore_开发证书_12
8.给provision取个名字
选择generate,点击Download下载

重启Xcode

在Targets里设置code signing
iOS 开发学习41 提交appstore_store_13
在Window-Devices找到设备-右键,show provisionning profiles,新增刚下载的文件
iOS 开发学习41 提交appstore_app_14

进入iTunes Connect

iOS 开发学习41 提交appstore_开发证书_15
它的网址是:
​​​https://itunesconnect.apple.com​​​
也可以直接打开登陆。

进入我的App

新建iOS APP
填写表单:
iOS 开发学习41 提交appstore_store_16

套装ID要与应该程序一致,版本要与程序里填的版本相一致。

填写价格、快照等信息

使用模拟器截屏,快捷键是command+s。可以一次拖多张图片到appstore。模拟器尽量不要缩放。

视频要求

制作视频预览时,要求:
- 长度15-30秒
- 不超过500M
- M4V、MP4 或 MOV 格式

可能用到的软件:
- 爱剪辑 免费国产视频处理软件
- VirtualDub 免费视频剪切
- xvid VirtualDub需要的解码器
- HandBrake 免费开源的视频格式转换软件

XCode

把设备链接改为iOS Device

如果使用了reveal,移除reveal的包

否则打包时会提示:

Your app contains non-public API usage.Please review the errors,correct them,and resubmit your application.
iTunes Store operation failed.
The app references non-public symbols in Payload… UICreateCGImageFromIOSurface

如果使用了pods,则可以这样设置: podfile:
pod ‘Reveal-iOS-SDK’, :configurations => [‘Debug’]
这样就不需要完全移除reveal了。

选择菜单Product - Archive

当中提示错误,就修复下:
iOS 开发学习41 提交appstore_ios_17
接下来弹出分发窗口

这里有两个按钮

iOS 开发学习41 提交appstore_ios_18
Validate先检验下,成功后点击 Submit to App Store。当然,你也可能很杯具的像我一样,验证是不成功的,出现什么问题就解决什么问题吧。

到iTunes Connect

选择构建版本

提交以供审核

重装系统后证书处理

把原有的证书revoke

生成新的证书

生成新的Provisioning Profiles

windows-devices加入新的开发者证书

重新设置Target-code signing

iOS 开发学习41 提交appstore_ios_19
(事实上我设置这里后,它会重新变为iOs Developer)