http://blog.sina.com.cn/s/blog_68661bd801019uzd.html
首先确定帐号是否能发布, https://developer.apple.com/account,如果你打开ProvisioningPortal,然后点击DisTribution看到的是下图中那样,再考虑按下面的方法弄
(1)图中加号是灰色,点击图中的加号,没有反应,说明你的帐号不能发布,找你们老大要帐号,正常情况是加号是黑色,点击会弹出一个创建证书界面。
(3)发布还需要用到Xcode,就是需要一个苹果系统,最好要有源代码。(因为用ipa上传更复杂,可能有的公司是外包买的代码,然后自己公司上传,对一个新手来说,第一次就用ipa上传可能会崩溃。)
1.进入开发者中心,进入到iOS Provisioning Portal界面,然后进入appids界面创建一个专为发布软件用的appid,并为其创建证书
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/ed461c8670344e9f1ff20e1fe7c22548.jpeg)
名字不是很重要,随意
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/cd0120b55fddebde95179737fd8082be.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/0487f4c1dd04be664072ca6e5e4cc1bd.jpeg)
创建完appid后再添加一个证书,发布证书,必须是管理员身份,组员 身份没有Distribution权限,无法发布。
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d83f7b77ff3bb22efe9febe85f4eb39c.jpeg)
然后打开钥匙串,
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/515c6ce15b64abaec54c9cafe3f8529d.jpeg)
然后点击电脑状态栏上的钥匙串,然后从颁发机构请求证书
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/874138f99cfb02435eed78e5163379d4.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/827294c3f6e4e13688dd0e132dd344cd.jpeg)
按照上面的操作,填上你帐号邮箱地址,名称,然后点击继续,然后存储到磁盘,保存到桌面
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/16a0717d8fae0e13804269c779469dce.jpeg)
然后点击chooseFiles,选择刚才那个CertificateSigningReques
然后在弄一个ProvisioningProfiles文件,同样的办法,点击加号,选择Appstore,然后选择你创建的那个appid,包含创建的证书,然后为证书取个名字。等到看到Yourprovisioning profile isready.然后下载配置文件,然后双击打开安装到xcode中。在最新版本的xcode安装这一步是不需要了。在4.X版本中会看到如下图:
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/77e80ea060cb16660dada7a0b1c8e95b.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/e7f851fbb6022159b1fb7a779d912b39.jpeg)
看到这样的时候,说明你证书安装,配置文件都没问题了
2,发布应用时需要选择iOSDevice。
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/a30cbd60b91623b2b5d922be34f8f136.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/cc6e01c1098f4c66d59faab5af324996.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/8c0c7455c2e4d0461bc615958159e111.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/ae075b3b3faa3af03541982fb37c4728.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/36c00e483746bbf41f177d2b12a6c112.jpeg)
3.配置TARGETS里面的Summary的Bundle
之前说的证书匹配什么的说的比较复杂,其实如果按步骤一步步来很简单
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/2c13b70af6ea5e393a6f6863a935c2b3.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/40528f877b0b33fe65375bc1a63a0b9d.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/c1579d509751728d014a35121fe0fab7.jpeg)
这里选择你创建的发布证书就OK了
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/1fbe0136c1cbefea39414aedd847d38e.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/5a99baa9d7b5e7086e03135066fac722.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d9cd5af4e6e161b96070f51e9bcf2bb3.jpeg)
Applications must be ready for upload on iTunes Connect before theycan be validated or submitted from within Xcode.
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d1ecd112561cdd627bc6519482c9eb45.jpeg)
4.如果看到的是上面的界面,那是正常的,因为你还没告诉苹果公司你要上传你的软件,苹果公司没准备好接收你的软件,那你接下来的是登陆开发者中心,打开 https://developer.apple.com/account/ 登陆IOS Dev Center的iTunes Connect,然后点击Manage YourApplications,然后点击Add New App
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/986aa641f8cf0ec497c0dc52fc0c9bff.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d8999af35f629b747abb556f8792da79.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d2491b0a35d9726029249a7f8d0c11a1.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/fd2014f51049ec4efc28a8173c4a6164.jpeg)
10月17日补充,由于ios6的推出,苹果在开发者网站上有了一些变动,在填写信息的时候有个朋友纠结了3天也没弄好,最后直接Q我,我就直接帮他做了。我就把如何填写的信息完整的发出来吧
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d69e2c22547c3d36d0e4eeec77f15d51.jpeg)
可能在这里填写的时候,要注意一下,如果之前appid如果不是用*,可能看不到以下界面,这个要去重新新建一个appid,然后更新发布证书,指向那个appid,如果你看到的是下面的界面,那么就不需要新建了,然后在BundleID Suffix这一栏写上你的应用程序名,这一栏非常重要,与你Xcode上的程序名要一致才能上传
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/332156c1994cf7cf4f32d2f80dcdcab4.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/7f5fbbb7f5852aa421a04d6c1250834e.jpeg)
这个界面没什么要填的,就是选择价格,一般都是免费软件,收费的同学一般都有“管”级别的同学在弄,一般不会看这个,呵呵。选择完就继续。
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/1c649b2a29e3b2f81586c7c8e3980a27.jpeg)
这个部分填写的时候没什么需要注意的地方,当然越准确越好,但是就上传而言,不会有太过严肃的审核,可能有时候要选择primarycategory,一般都是business,其他视自己需要和实际情况。
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/48a4b157e4cf3e6e1e25c9a3148ec36e.jpeg)
这个部分一般全部选none就好,如果你的程序确实有涉及一些不健康的或者暴力的,那就需要仔细看看了
新增了一个内容,是鼓励为小孩开发软件,如果软件是针对小孩子设计的,就选上,在分类和搜索时会优先搜索到。
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/ed474cfd9d94717f13f9e72c31b3b227.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/9502fb473bb6e88c56913be69a2322d5.jpeg)
这个部分将会在软件通过后显示在appstore界面的正文部分,虽然在上传的时候审核的不强,但是还是要认真填写,其他带选择性填写的,如果有的话,最好还是填上去。
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d0098cf94acab86fbcf755587c7983aa.jpeg)
这个界面是ios6之后新加的,之前上传的时候是没有的,那些数据怎么填写的呢,邮箱就是你的登陆邮箱,名称就是你填写的用户名,我的是
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/24e0cac866600c037de9b21aafa7cde0.jpeg)
你也可以点击Edit Profile查看你填写的一些信息,你也可以看到
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d0de8781ca8e8db7f8dcc6e51e83de59.jpeg)
suntiezheng不是我的名字,哈,是我们老大的。
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/4ca18db961c69f2d7a817312023f5d2d.jpeg)
接下来的,你要准备一个在苹果商店显示的图标,当然是炫一点好,是用户的第一印象,然后就是要有截图,按照标准,点击旁边的问号查看有什么要求,至少要一张截图,如果你要兼容iphone5
(这里点开上图中问号,会看到苹果要求你上传什么格式,大小的图片,而不是只能jpg,这个才是最标准的要求)
5如果抖按照要求顺利提交,你的邮箱会收到苹果公司的一封邮件,告诉你现在是Prepare forUpload这个状态,然后在点击Ready to Upload Binary之后,状态会变成Waiting ForUpload,到现在就可以回到Xcode上传软件了,就是进入Product菜单->Archive,
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/99f2f343b30da2c2198d03c97fa75328.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/22d9be557314ebc9e38612aaaa681ccf.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/8b96343c43d9a4a650cc96be8049f89b.jpeg)
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/101e4b4e4ed4044c367e37fb40651477.jpeg)
6.看到这个界面就可以松一口气了,这是苹果公司告诉你你可以上传了然后点击Finish,然后回到Organizer-Archives界面,选择Distribution按钮,会有如下界面
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/1702f036feea280fdecdbd598b38dca9.jpeg)
然后点Next,然后继续点,直到上传
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d7b29e40220718917007ee2a4f111db0.jpeg)
到这个时候你要做的就是等待了,当上传完成的时候你会收到邮件,通知你Waiting For Review。也就是大功告成。
可能第一次发布的时候有各种困惑,
1:到底怎么样算配置好各种参数?其实很简单,只要把证书设置为专门发布的证书即可,没有网上说的那么恐怖,之前我被误导了
2.我在弄的时候有No
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/d7760b894ce13e8150d9670f5a6a4bc2.jpeg)
3.一定要有一个发布证书
![appStore上传苹果应用程序软件发布流程 appStore上传苹果应用程序软件发布流程](https://i-blog.csdnimg.cn/blog_migrate/7fc912099e1bf16f3061e59dddb057aa.jpeg)
有一个朋友出现这个问题,是发布证书不能识别,对于这个问题,分三步解决,第一步,点击那个Organizer界面最下面的Refresh,要是依然是黄色感叹号,则第二步,右键删除不能识别的证书,再到苹果开发者网站下载那个发布证书,如果这样做后依然是黄色感叹号,那第三步,再苹果开发者网站移除掉那个发布证书,重新来,移除后,打开钥匙串,请求一个证书,然后提交,刷新一下界面然后重新下载,安装。如果还有问题,那就操作步骤有问题了。每一个步骤都不能错,这就是苹果的变态处
4.可能有各种问题
- You must provide a last name.
- You must upload at least one screenshot.
- You must provide an email address in a valid format (forexample, support@example.com).
- You must provide a phone number in a valid format (forexample, +1 123 456 7890).
- You must upload a large app icon.
- You must select a primary category for yourapp.
- App Description must be at least 10 characters inlength.
- You must provide a first name.
- 对于这个问题是,是在填写Last Name时没有与你帐号的用户名相对应的结果
- 这个问题是因为你的appid与
不对应。假如你设置的appid是com.csc.*,那么你的BundleIdentifier应该是com.csc.calinks。calinks是我的项目名,是灰色的,无需自己修改,自己修改的只是前两个字段。类似的问题也有你在苹果开发者网站上填写BundleID Suffix与你的项目名不同造成的。
这个也有可能你选择的发布证书与这两者不对应,创建发布证书在选择appid时一定要看清了。这个就是前面说的3者要相对应。简单的说就是最好按照步骤一步步来。
可能这个朋友同时看多个文档,但我之前没有明确提出来在哪个地方传这些图片,可能那个朋友就迷惑了,其实我有提到的,红色的第5点的上面,用括号补充出来了
6.有个朋友问:“那个所谓的把程序打包啥的是不是那个什么操作Archive的过程?”这个问题,说的很对,我自己是这么认识的。根本就不存在打包的概念,不象安桌生成一个APK,拿到手机上面就直接装,当然越狱的是可以。如果你把你的程序用itunes生成一个ipa出来,我觉得这个过程才叫打包。而网上有些朋友说的打包,应该就是提交过程,所以根本不需要理会打包什么
7.有个朋友问“在itunes connect上面,我想上传一个免费的应用程序,我难道只需要操作
这个吗?不需要额外的提交什么合约之类的东东,吗?”
这个问题,是没必要担心的,因为在申请开发者帐号的,它所要求的信息基本都已经录入了,99美元你也付了,你有权利上传你的程序,无需其他任何额外要求。当然通不通的过,那是审核阶段的事情了。审核标准网上也有。
8.有朋友问,appid是不是一定要按照那个格式?苹果公司推荐使用完整的APPID作为你发布的软件的appid,不用使用带有*的通配符,每一个软件发布都对应一个唯一的appid,因为如果你没用完整的appid,假如后续需要升级要用到完整的,而如果相同的appid被占用,那么你得重新上传。
9.最近有朋友遇到了不能安装证书的问题,而且不止一个人,其实是因为苹果界面的变动,有一个是用于管理上传到appstore的版本,有一个是用于创建开发者的证书。要看清选项
10.有人问可以不可以用ipa直接发布软件到APPStore?这个是可以的,但最好还是先弄清楚正常的流程之后再弄ipa上传。ipa上传也是很有意义的事情,特别在大公司分工合作中,产品不归开发人员管理。上传的人可能不能看到代码。
11.企业账号的问题?如果用企业账号,是可以直接装到用户的手机,无需经过苹果的APPStore下载。确实挺方便。网上说适合500人以上的大公司,我感觉不是,无论大小公司,如果想让客户体验到最新的软件,那么企业帐号绝对物超所值。而且无需知道安装者的设备号,无需越狱,所有的手机都可以装。如何申请企业帐号以及企业帐号发布APP流程,推荐几个文章:
有一个朋友说在弄的时候所有的步骤都没有问题,但是在手机里面打开链接遇到“无法到达”的情况。itms-services:///?action=download-manifest&url=http://www.XXX.com/mytest.ipa,原因是服务器不识别那两个文件类型,.plist和.ipa,后台服务器需要添加文件对这两种类型的支持。在mime里面添加。
12.如何为AppID续费?续费流程链接
13.企业账号的神秘面纱,任何未越狱手机在wifi模式下都能安装。用iphone手机QQ或者其它软件扫描如下图片,别用微信,微信不支持itms-services协议,点击安装抢先版
或者直接用safari打开
itms-services://?action=download-manifest&url=http://www.calinks.com.cn/buick/dx/Buickhousekeeper.plist
不过我觉得企业账号很废。299美元没必要,如果有一些特殊情况,软件更新太频繁,又不想通过苹果的审核,或者软件必须用到私有接口却要给未越狱用户安装,或者你的大多数用户都不是通过AppStore下载,根据你的情况,那么你可以考虑下299美元的账号。一般情况下,还是用99美元的好。
问:这种模式下载,是不是一定要在appstore有才行?答,不是。只要有299账号,不需要在AppStore上线,也上不了。
14.有人问,不管是开发,还是发布,appid都是同一个对不对?这个问题显然不是,开发的appid和发布的appid没有要求一定要同一个,你可以开发的时候是一个appid,发布的时候另外一个,完全没任何关联。推送证书跟开发证书和发布证书也没有半毛钱的关系,唯一共同点是他们都是钥匙串里面。发布软件不需要推送证书也能发布,如果你要加上推送功能,那么才需要推送证书。不要被上面所有的要一致而迷惑,上面是指发布这一个操作内的所有的appid,证书要一致。而开发而发布是两个不同的动作。就像抬手与放脚是两个不同动作,类似于手指跟脚趾的关系。没有任何关系,有关系的是手臂与手指,腿与脚的内部关系。
15.提交时提示错误This Bundle is invalid.New apps and app updatessubmitted to the App Store must be built withpublic。原因在于你用的xcode版本或者sdk的版本低,先确认你的版本是否为最新版或者是较新版。这个问题是因为从2014年2月1日开始所有新提交的app和更新,都要用xcode5和IOS7。用xcode4.6是不行的。这个过一段时间苹果就会将提交应用的版本提高,所以最好的办法就是保持xcode最新。
16.提示The session's status is Failed and the error description isfailed to open ssh session
如果出现很多这样的错误,原因在于你所在的网络,譬如大学学校的网络,房东的网络,或者公司网络限制了上传跟下载。这种问题的解决办法你可以先试着重传,试个5遍还是这样的错误,那就考虑换个网络环境,或者找网管解除限制。