AppStore新应用上传指南
目录[隐藏] |
提交新应用前的准备工作
- 上传新应用需要做好一些准备工作,iTunesConnect管理平台大概有半小时的失效,填写到一半超时的话就得重新提交。
- 准备工作:
- 1张512x512大小的PNG软件图标,通常是自己应用的放大版图标。
- 至少两张640x960的iPhone版本PNG截图(用iPhone4及以上手机或iPod Touch4,同时按上方电源键和底部HOME键可以截图到相册,导出即可)
- 至少两张768x1024的iPad版本PNG截图(用iPad真机截取,方式同上)。
- 应用的详细描述文字
- 应用的包ID(可以在追信魔盒的“软件管理-iOS签名证书-iOS软件配置”中看到)
- 一台苹果MAC操作系统的电脑或笔记本(这个可以缓一下,最后上传文件时才需要用到)。如果没有MAC电脑,可以考虑用虚拟机安装,参考Windows环境下用虚拟机安装MAC系统教程
- 准备完成后,就可以开始提交工作了。
进入itunesconnect
AppStore软件的管理,收费账单的管理等等都是通过iTunesConnect进行的。
访问http://itunesconnect.apple.com ,输入已经购买开发者权限的用户名密码登陆。

在管理界面中可以通过Manage Your Applications进入应用管理界面

在应用管理界面中可以看到各个已经上传的软件和待更新的软件,要上传新应用,就选择左上角的“Add New App”。

提交新应用的信息
在第一个应用基本信息界面中,可以看到默认语种的选择、应用名称(不能和平台已有软件冲突)、SKU号(唯一识别码,确保你的所有软件之间不重复即可)、包ID(AppID中的配置),包的后缀(如果BundleID选择通配符类型的会出现)。确保最终的BundleID和您实际应用的ID保持一致,一旦应用发布后将无法修改,只能删除。

在第二个界面是收费信息以及市场发布范围选择。一般需要关注的就是“Price Tier”,如果是免费版本就选择Free,否则选择自己需要的计费档次(不同档次可以查看“View Priceing Maxtix”)。默认应用会发布到全球所有市场,如果需要指定发布个别国家地区,则选择“Specific Stores”。

第三个界面是详细的软件信息配置,将分成几屏来说明:
首先是版本信息,建议版本号码和追信魔盒上显示的一致(如果只是换肤或修改PhoneGap模式中的打包文件,可以考虑再扩展一位版本号码,例如2.3.1.5)。 版权信息(Copyright)任意填写自己网站或个人信息。主要分类部分根据您的软件类别选择。第二分类可以不选择。审核备注(Review Notes)部分一般在您的应用是具有登录功能的时候才需要特别说明,提供审核人员账号密码,否则审核极有可能被拒。

软件分级是针对内容的成人向来判断适合适合孩子。在实际应用中如果出现成人笑话、内衣、暴露的身体等等,都需要在对应的选项中选择是中度或轻度。软件分级不会影响用户的使用,只是在下载安装时会收到提醒。

接下去要设置应用的描述信息,Description中填入详细的文字介绍,Keywords部分填入关键字,让用户更容易通过搜索找到您的应用。Support是客服邮箱,Support URL是客服网址。其他的营销网址和隐私声明网址可以忽略

最后是软件图标和截图,请按照图上说明上传。由于追信魔盒iOS版本兼容iPad,因此必须提供iPad的截图。

另外,从2012年9月20日开始,iPhone5上线后必须上传iPhone5的截图,用户必须上传640x1136尺寸的截图,如果没有iPhone5手机,可以使用追信魔盒生成的模拟图片。在软件下载页面,鼠标悬浮下方的IOS操作系统后,可以看到“查看截图”,点击后在打开的窗口中可以右键另存图片并上传。

最后选择Save后即可生成一个新的应用。
上传应用
在新应用的主管理界面中选择“View Detail”

可以看到当前软件状态是准备上传(prepare for upload),选择右上角的“Ready to Upload Binary”(准备上传二进制包)。

在这个和出口相关的界面中,选择“No”。

界面提示准备上传,直接选择“Continue”

返回上一页后可以看到软件状态已经成为了“Waiting For Upload”

用Application Loader上传应用
从2010年年中开始,开发者上传软件必须使用Application Loader这个MAC机上的应用程序。因此必须有MAC操作系统才能上传软件,没有条件的可以考虑暂借其他人的MAC笔记本电脑或在电脑上安装MAC虚拟机(安装教程参考Windows环境下用虚拟机安装MAC系统教程)。
提示:如果您安装了最新版的XCode开发环境。对于在4.2及以上版本,Developer/Applications/Utilities目录中已经有ApplicationLoader程序,无需执行以下单独安装。对于XCode4.3及以后版本,在/Applications/XCode.app/Contents/Applications目录中可以找到(右键XCode选择Show Package Contents可以进入目录结构)。如果没有安装XCode,则路径在Developer/Applications/Utilities

在iTunesConnect的Manage Your Applications应用管理界面的底部,可以看到Application Loader单机版本的下载地址。当前最新版本是2.5.1,下载链接是https://itunesconnect.apple.com/apploader/ApplicationLoader_2.5.1.dmg

下载完成后双击安装,执行窗体界面中的ApplicationLoader.pkg后一路默认安装即可。

Application Loader执行初始界面如下图。

登录后可以看到主界面,选择“Deliver Your App”

可以看到所有在等待上传状态的应用清单,选择需要上传的应用,并选择“Next”

看到应用的基本信息,做最后的确认后选择“Choose...”

选择在追信魔盒下载的编译好之后的ipa文件

准备上传,选择右下角的“Send”

开始上传,需要注意的是由于Apple服务器在国外,国内上传经常会出现长时间卡在“Authenticating with the iTunes Store...”,只能耐心等待……

完成后即可看到软件状态进入了Waiting for Review等待审核状态。一般在15个工作日左右会进入审核状态(具体审核时间以苹果官方时间为准),在三个工作日内一般会有审核结果,是上架销售还是拒绝。
上传时出错的解决方案
no dwarfdump executable defined错误
如果上传时碰到"There is no dwarfdump executable defined."问题,应该是电脑中缺少dwarfdump程序,理论上安装完整的XCODE可以解决(在XCODE安装完成后可以在/Developer/usr/bin/dwarfdump找到)。

如果没有安装MAC,您可以下载文件:Dwarfdump.zip,并将可执行文件解压缩到MAC的/usr/bin目录中(在Finder-前往-前往文件夹中输入路径即可)。重启ApplicationLoader后重新执行以上步骤即可。(已通过MAC虚拟机在LION环境下验证可行)
not associated with your account错误
上传时有时会出现This app contains an embedded provisioning profile that is not associated with your account.Please use a provisioning profile associated with Team ID XXXXXXXX.的错误。
这个错误意味着软件签名时用户的证书或配置文件和Apple开发者平台上配置的不一致。
1、请确认您的确在追信魔盒平台将软件的签名和配置正确设置。
2、请确认软件编译成功
3、下载ipa文件后,用WinRar解压缩,进入Payload目录,查看embedded.mobileprovision文件,用文本编辑器,就可以看到
<key>AppIDName</key> <string>ProvisionName</string> <key>ApplicationIdentifierPrefix</key> <array> <string>TeamID</string> </array>
确认TeamID部分和错误提示中的字符串保持一致。
如果1、2步完全正确,而第三部“ProvisionName”部分显示的还是“ZhuiOEM”的配置,很有可能您的证书或配置文件有问题。例如证书或配置文件过期、证书和配置不匹配等,这时追信魔盒将默认使用追信自己的证书签名。请重新配置签名证书。
AppStore新应用上传指南的更多相关文章
- 将本地的一个新项目上传到GitHub上新建的仓库中去
转载: 如何将本地的一个新项目上传到GitHub上新建的仓库中去 踩过的坑: 1.在git push时报错 error: RPC failed; curl 56 SSL read: error:000 ...
- iOS开发关于AppStore程序的上传流程
主要内容: 1.创建唯一标示符App ID(前提是你的程序在真机上测试没有任何问题) 2.申请发布证书 3.申请发布描述文件 4.iTunes Connect创建App并填写信息 5.选择证书编译打包 ...
- 如何将本地的一个新项目上传到GitHub上新建的仓库中去
1:我们需要先创建一个本地的版本库(其实也就是一个文件夹).直接右击新建文件夹,或者右击打开Git bash命令行窗口通过命令mkdir来创建(mkdir 文件名). 进入这个文件夹的根目录,选中目录 ...
- 关于新项目上传远程库报错 non-fast-forward
已有项目上传远程库会报错 non-fast-forward 首先使用命令行 git pull origin master --allow-unrelated-histories 之所以使用这个命令,是 ...
- 关于github 新工程上传代码 git 命令
1.git init // 初始化git文件 2.git add . //添加上传全部文件 "."代表全部 3.git remote add origin git····//gi ...
- iOS工程上传AppStore时遇到的问题“ERROR ITMS-90046”解析
在我们将代码写完整,测试没有bug之后,我们就可以将它上传到AppStore了,上传的过程只要操作正确并不会有太大的问题,但是打包的过程中会出现一些小问题,导致打的包不能上传或者上传的时候会出现错误. ...
- 文件上传之——用SWF插件实现文件异步上传和头像截取
之前写过几篇文件上传,那些都不错.今天小编带领大家体会一种新的上传方法,及使用Flash插件实现文件上传. 使用Flash的好处就是可以解决浏览器兼容性问题.之前我写的一个快捷复制功能也是利用的Fla ...
- Google Chrome 应用商店上传扩展程序
1. 进入 Google 开发者中心 网址: https://chrome.google.com/webstore/developer/dashboard?hl=zh-cn 2. 添加新项 上传后,出 ...
- JavaWeb 之文件的上传下载
又到了每周更新博客的时候了,每看到自己发布的随笔阅读量上涨的时候就特别开心,我也会尽自己的努力提高自己的水平,总结出通俗易读的学习笔记,还望大家能多多支持!!! ------------------- ...
随机推荐
- AngularJS快速入门指南11:事件
AngularJS拥有自己的HTML事件指令. ng-click指令 ng-click指令定义了AngularJS的click事件. <div ng-app="" ng-co ...
- android mvvm初探
目前google的databinding library还处在rc版,其中编译器发挥了主要作用.目前也只是在android studio开发环境中支持. mvvm能够大大降低模块间的耦合度,在开发过程 ...
- atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException
atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException #--现象 java.lang.NullPoint ...
- css之属性部分
这篇写的是今天的学习到的属性,一共20个. 属性再多,但也要会使用,会在使用时可以记起它,才能起到它为我们所需要的作用. 样式属性 1.border CSS边框属性允许你指定一个元素边框的样式和颜色. ...
- Android图片处理-图片压缩处理
这里先重复温习一下上一篇,调用相册获取图片: /*** * 这个是调用android内置的intent,来过滤图片文件 ,同时也可以过滤其他的 */ Intent intent = new Inten ...
- 10TSQL语言概述-脚本调试-命名规范-天轰穿数据库2014
关键字:sqlserver 数据库脚本 数据库 编码规范大纲:sql概念,TSQL脚本调试,数据库编码规范 优酷超清地址 腾讯超清地址 土豆超清地址
- Disable multi finger touch in my app
http://stackoverflow.com/questions/12777435/disable-multi-finger-touch-in-my-app android:splitMotion ...
- 【CUDA学习】共享存储器
下面简单介绍一些cuda中的共享存储器和全局存储器 共享存储器,shared memory,可以被同一块中的所有线程访问的可读写存储器,生存期是块的生命期. Tesla的每个SM拥有16KB共享存储器 ...
- mysql 查看正在运行的进程
show processlist ; 显示正在运行的进程,使用Kill命令删除 kill 5260;
- 用C/C++实现对STORM的执行信息查看和控制
近期公司有个需求.须要在后端应用server上实时获取STORM集群的执行信息和topology相关的提交和控制,经过几天对STORM UI和CMD源代码的分析,得出能够通过其thrift接口调用实现 ...